diff options
Diffstat (limited to 'Tests/RunCMake/ExternalProject/RunCMakeTest.cmake')
-rw-r--r-- | Tests/RunCMake/ExternalProject/RunCMakeTest.cmake | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Tests/RunCMake/ExternalProject/RunCMakeTest.cmake b/Tests/RunCMake/ExternalProject/RunCMakeTest.cmake index 2588d6c..f152f5b 100644 --- a/Tests/RunCMake/ExternalProject/RunCMakeTest.cmake +++ b/Tests/RunCMake/ExternalProject/RunCMakeTest.cmake @@ -177,6 +177,28 @@ if(doSubstitutionTest) __ep_test_with_build(Substitutions) endif() +function(__ep_test_BUILD_ALWAYS) + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/BUILD_ALWAYS-build) + run_cmake(BUILD_ALWAYS) + set(RunCMake_TEST_NO_CLEAN 1) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-configure.cmake" [[message(STATUS "once: configure")]]) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-build.cmake" [[message(STATUS "once: build")]]) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-install.cmake" [[message(STATUS "once: install")]]) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/always-configure.cmake" [[message(STATUS "always: configure")]]) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/always-build.cmake" [[message(STATUS "always: build")]]) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/always-install.cmake" [[message(STATUS "always: install")]]) + run_cmake_command(BUILD_ALWAYS-build1 ${CMAKE_COMMAND} --build . --target always) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-configure.cmake" [[message(FATAL_ERROR "once: configure should not run again")]]) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-build.cmake" [[message(FATAL_ERROR "once: build should not run again")]]) + file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-install.cmake" [[message(FATAL_ERROR "once: install should not run again")]]) + if(NOT RunCMake_GENERATOR MATCHES "^(Xcode|Visual Studio 9 )") + # The Xcode and VS 9 build systems decide to run this every time. + file(WRITE "${RunCMake_TEST_BINARY_DIR}/always-configure.cmake" [[message(FATAL_ERROR "always: configure should not run again")]]) + endif() + run_cmake_command(BUILD_ALWAYS-build2 ${CMAKE_COMMAND} --build . --target always) +endfunction() +__ep_test_BUILD_ALWAYS() + function(__ep_test_CONFIGURE_HANDLED_BY_BUILD) set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CONFIGURE_HANDLED_BY_BUILD-build) run_cmake(CONFIGURE_HANDLED_BY_BUILD) |