subsurface/cmake/Modules/RunOnBuildDir.cmake
Dirk Hohndel ff694af92b build-system: prevent recursive symbolic links
If cmake is called multiple times we can end up with a recursive set of
symbolic links that can confuse package build scripts.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2021-10-19 12:19:18 -07:00

31 lines
1 KiB
CMake

# install a few things so that one can run Subsurface from the build
# directory
add_custom_target(themeLink ALL
COMMAND
rm -f ${CMAKE_BINARY_DIR}/theme &&
ln -sf ${CMAKE_SOURCE_DIR}/theme ${CMAKE_BINARY_DIR}/theme
)
if(NOT NO_PRINTING)
add_custom_target(printing_templatesLink ALL
COMMAND
rm -f ${CMAKE_BINARY_DIR}/printing_templates &&
ln -sf ${CMAKE_SOURCE_DIR}/printing_templates ${CMAKE_BINARY_DIR}/printing_templates
)
endif()
if(NOT NO_DOCS)
add_custom_target(
documentationLink ALL
COMMAND
mkdir -p ${CMAKE_BINARY_DIR}/Documentation/ &&
rm -rf ${CMAKE_BINARY_DIR}/Documentation/images &&
rm -rf ${CMAKE_BINARY_DIR}/Documentation/mobile-images &&
ln -sf ${CMAKE_SOURCE_DIR}/Documentation/images ${CMAKE_BINARY_DIR}/Documentation/images &&
ln -sf ${CMAKE_SOURCE_DIR}/Documentation/mobile-images ${CMAKE_BINARY_DIR}/Documentation/mobile-images
)
add_custom_target(
documentation ALL
COMMAND
${CMAKE_MAKE_PROGRAM} -C ${CMAKE_SOURCE_DIR}/Documentation OUT=${CMAKE_BINARY_DIR}/Documentation/ doc
DEPENDS documentationLink
)
endif()