| include(ExternalProject) |
| |
| # Given this setup, on the first build, both configure steps and both build |
| # steps will run. On a noop rebuild, only the build steps will run. Without |
| # CONFIGURE_HANDLED_BY_BUILD, the configure step of proj2 would also run on a |
| # noop rebuild. |
| |
| ExternalProject_Add(proj1 |
| DOWNLOAD_COMMAND "" |
| SOURCE_DIR "" |
| CONFIGURE_COMMAND ${CMAKE_COMMAND} -E echo "Doing something" |
| # file(TIMESTAMP) gives back the timestamp in seconds so we sleep a second to |
| # make sure we get a different timestamp on the stamp file |
| BUILD_COMMAND ${CMAKE_COMMAND} -E sleep 1 |
| INSTALL_COMMAND "" |
| BUILD_ALWAYS ON |
| STAMP_DIR "stamp" |
| ) |
| ExternalProject_Add(proj2 |
| DOWNLOAD_COMMAND "" |
| SOURCE_DIR "" |
| CONFIGURE_COMMAND ${CMAKE_COMMAND} -E echo "Doing something" |
| BUILD_COMMAND ${CMAKE_COMMAND} -E sleep 1 |
| INSTALL_COMMAND "" |
| CONFIGURE_HANDLED_BY_BUILD ON |
| DEPENDS proj1 |
| STAMP_DIR "stamp" |
| ) |