34 lines
1.2 KiB
CMake
34 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.4)
|
|
project(webdocs)
|
|
|
|
# We do not use CMake's find_package facility because it can't find homebrew-installed python3,
|
|
# or the python3 executable on some corporate Linux machines.
|
|
find_program(PYTHON3 python3)
|
|
|
|
if(${PYTHON3} STREQUAL "PYTHON3-NOTFOUND")
|
|
message(WARNING "Python 3 not found, skipping web doc generation.")
|
|
else()
|
|
|
|
file(STRINGS tutorials.txt TUTORIALS)
|
|
|
|
set(CUSTOM_OUTPUTS)
|
|
set(CUSTOM_INPUTS)
|
|
foreach (NAME ${TUTORIALS})
|
|
list(APPEND CUSTOM_OUTPUTS ${PROJECT_BINARY_DIR}/demo_${NAME}.html)
|
|
list(APPEND CUSTOM_OUTPUTS ${PROJECT_BINARY_DIR}/tutorial_${NAME}.html)
|
|
list(APPEND CUSTOM_OUTPUTS ${PROJECT_BINARY_DIR}/tutorial_${NAME}.js)
|
|
list(APPEND CUSTOM_INPUTS ${CMAKE_CURRENT_SOURCE_DIR}/tutorial_${NAME}.md)
|
|
endforeach()
|
|
|
|
add_custom_command(
|
|
OUTPUT ${CUSTOM_OUTPUTS}
|
|
COMMAND ${PYTHON3} ${CMAKE_CURRENT_SOURCE_DIR}/build.py
|
|
--output-folder ${PROJECT_BINARY_DIR}
|
|
--build-folder ${PROJECT_BINARY_DIR}/../..
|
|
MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/build.py
|
|
DEPENDS ${CUSTOM_INPUTS} filament-js websamples)
|
|
|
|
add_custom_target(${PROJECT_NAME} ALL DEPENDS ${CUSTOM_OUTPUTS})
|
|
|
|
endif()
|