Files
filament/web/docs/CMakeLists.txt
2018-11-16 14:09:41 -08:00

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()