| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- cmake_minimum_required (VERSION 2.6)
- PROJECT(TestWorkingDir)
- ADD_CUSTOM_COMMAND(
- OUTPUT "${TestWorkingDir_BINARY_DIR}/working.c"
- COMMAND "${CMAKE_COMMAND}" -E copy ./working.c.in "${TestWorkingDir_BINARY_DIR}/working.c"
- WORKING_DIRECTORY "${TestWorkingDir_SOURCE_DIR}"
- COMMENT "custom command"
- )
- SET_SOURCE_FILES_PROPERTIES(
- "${TestWorkingDir_BINARY_DIR}/customTarget.c"
- "${TestWorkingDir_BINARY_DIR}/customTarget2.c"
- PROPERTIES GENERATED 1)
- ADD_EXECUTABLE(working "${TestWorkingDir_BINARY_DIR}/working.c"
- "${TestWorkingDir_BINARY_DIR}/customTarget.c")
- ADD_CUSTOM_TARGET(
- Custom ALL
- COMMAND "${CMAKE_COMMAND}" -E copy_if_different ./customTarget.c "${TestWorkingDir_BINARY_DIR}/customTarget.c"
- WORKING_DIRECTORY "${TestWorkingDir_SOURCE_DIR}"
- )
- ADD_DEPENDENCIES(working Custom)
- file(MAKE_DIRECTORY ${TestWorkingDir_BINARY_DIR}/work)
- add_custom_command(
- OUTPUT working2.c # Relative to build tree
- COMMAND "${CMAKE_COMMAND}" -E copy ${TestWorkingDir_SOURCE_DIR}/working.c.in ../working2.c
- DEPENDS ${TestWorkingDir_SOURCE_DIR}/working.c.in/ # trailing slash should be removed
- WORKING_DIRECTORY work/ # Relative to build tree, trailing slash
- )
- add_executable(working2 working2.c ${TestWorkingDir_BINARY_DIR}/customTarget2.c)
- add_custom_target(
- Custom2 ALL
- COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${TestWorkingDir_SOURCE_DIR}/customTarget.c ../customTarget2.c
- WORKING_DIRECTORY work/ # Relative to build tree, trailing slash
- )
- add_dependencies(working2 Custom2)
|