Hi CMakers, I'm looking for a way to 1. build and run executable targets, after one of their dependency has been changed and 2. to run these executable targets every time whether they were rebuild or not.
The first point is more important to me that the second one. A little background: I am working on automatical created, build and run tests. These tests use the Boost Test Framework. They are created by CMake by using configure_file() and a template, which works very well. After that the target is created and the dependencies are set: add_executable(${target}_tests EXCLUDE_FROM_ALL ${CMAKE_CURRENT_SOURCE_DIR}/tests/${target}_Tests.cpp) target_link_libraries(${target}_tests ${target}) target_link_libraries(${target}_tests ${Boost_LIBRARIES}) After that add_custom_command makes the executable run after the build: add_custom_command( TARGET "${target}_tests" POST_BUILD COMMAND "${CMAKE_BINARY_DIR}/bin/${target}_tests${CMAKE_EXECUTABLE_SUFFIX}" ARGS "--log_format=XML --log_sink=${CMAKE_TEST_RESULTS}/${target}-test_results.xml --log-level=all --report_level=detailed" DEPENDS "${target}" ) There are two versions, one for Visual Studio which looks similiar. This works, too. But only the first time the code is build or when the code of the test is changed, not when the target it should test is changed. To the first point: I thought this should work out of the box, but it does not seem to. What would you suggest to solve this issue? Regarding the second point: I tried to use the touch command offered by CMake to make the tests targets to look as if they changed. Also I tried to use a custom_target (which I made all tests depend on), to have a target which is always out-of-date and forces the tests to be rebuild. Non of these attempts worked. So I now hope for your help. Best regards, Philipp -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake