1234567891011121314151617181920212223242526272829 |
- add_custom_command(
- OUTPUT gen-byproduct gen-byproduct-stamp
- BYPRODUCTS byproduct
- COMMAND ${CMAKE_COMMAND} -E touch gen-byproduct-stamp
- COMMAND ${CMAKE_COMMAND} -E copy_if_different gen-byproduct-stamp byproduct
- )
- set_property(SOURCE gen-byproduct PROPERTY SYMBOLIC 1)
- add_custom_target(produce DEPENDS gen-byproduct)
- add_custom_command(
- OUTPUT use-byproduct
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/byproduct
- COMMAND ${CMAKE_COMMAND} -E sleep 1.125 # workaround buggy filesystem timestamps
- COMMAND ${CMAKE_COMMAND} -E touch use-byproduct
- )
- add_custom_target(drive ALL DEPENDS use-byproduct)
- add_dependencies(drive produce)
- file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/check-$<LOWER_CASE:$<CONFIG>>.cmake CONTENT "
- if (check_step EQUAL 1)
- set(check_pairs
- \"${CMAKE_CURRENT_BINARY_DIR}/use-byproduct|${CMAKE_CURRENT_BINARY_DIR}/gen-byproduct-stamp\"
- )
- else()
- set(check_pairs
- \"${CMAKE_CURRENT_BINARY_DIR}/gen-byproduct-stamp|${CMAKE_CURRENT_BINARY_DIR}/use-byproduct\"
- )
- endif()
- ")
|