diff options
author | Brad King <brad.king@kitware.com> | 2015-05-07 18:25:37 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2015-05-07 18:25:37 (GMT) |
commit | 18527c4991a5f555c0464270ca283d37632b9395 (patch) | |
tree | cdc9ecc11a656583305bcbafb1afbd5af979db0d /Tests | |
parent | 6b9e2f710054da4acb67240670ba75b22044d3a5 (diff) | |
parent | a6e4e73da3de092439b6fcfe884f44a7c8a1ad81 (diff) | |
download | CMake-18527c4991a5f555c0464270ca283d37632b9395.zip CMake-18527c4991a5f555c0464270ca283d37632b9395.tar.gz CMake-18527c4991a5f555c0464270ca283d37632b9395.tar.bz2 |
Merge topic 'vs-install-in-default-build'
a6e4e73d VS: Add option to put INSTALL target in .sln default build
562e69dd Tests: Enable devenv tests on VS >= 10
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeLists.txt | 5 | ||||
-rw-r--r-- | Tests/VSExcludeFromDefaultBuild/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Tests/VSExcludeFromDefaultBuild/ClearExes.cmake | 4 | ||||
-rw-r--r-- | Tests/VSExcludeFromDefaultBuild/ResultTest.cmake | 6 |
4 files changed, 18 insertions, 1 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 35326a5..58feefd 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -46,7 +46,9 @@ configure_file(${CMake_SOURCE_DIR}/Tests/EnforceConfig.cmake.in # Testing if(BUILD_TESTING) set(CMake_TEST_DEVENV "") - if(CMAKE_GENERATOR MATCHES "Visual Studio [7-9] " AND + if(CMAKE_VS_DEVENV_COMMAND) + set(CMake_TEST_DEVENV "${CMAKE_VS_DEVENV_COMMAND}") + elseif(CMAKE_GENERATOR MATCHES "Visual Studio [7-9] " AND NOT CMAKE_MAKE_PROGRAM MATCHES "[mM][sS][bB][uU][iI][lL][dD]\\.[eE][xX][eE]") set(CMake_TEST_DEVENV "${CMAKE_MAKE_PROGRAM}") endif() @@ -1869,6 +1871,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release --build-generator-platform "${CMAKE_GENERATOR_PLATFORM}" --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}" --build-project VSExcludeFromDefaultBuild + --build-target install --test-command ${CMAKE_COMMAND} -D "activeConfig=${config}" -D "allConfigs=${CMAKE_CONFIGURATION_TYPES}" diff --git a/Tests/VSExcludeFromDefaultBuild/CMakeLists.txt b/Tests/VSExcludeFromDefaultBuild/CMakeLists.txt index d30414b..243fdf5 100644 --- a/Tests/VSExcludeFromDefaultBuild/CMakeLists.txt +++ b/Tests/VSExcludeFromDefaultBuild/CMakeLists.txt @@ -1,6 +1,9 @@ cmake_minimum_required(VERSION 2.8.9) project(VSExcludeFromDefaultBuild) +# CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD will enable the INSTALL target to be part of the default build +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) + # First step is to clear all .exe files in output so that possible past # failures of this test do not prevent it from succeeding. add_custom_target(ClearExes ALL @@ -13,6 +16,7 @@ add_custom_target(ClearExes ALL function(add_test_executable target) add_executable("${target}" ${ARGN}) add_dependencies("${target}" ClearExes) + install(TARGETS "${target}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/install" OPTIONAL) endfunction() add_test_executable(DefaultBuilt main.c) diff --git a/Tests/VSExcludeFromDefaultBuild/ClearExes.cmake b/Tests/VSExcludeFromDefaultBuild/ClearExes.cmake index ece30ad..99cf1a5 100644 --- a/Tests/VSExcludeFromDefaultBuild/ClearExes.cmake +++ b/Tests/VSExcludeFromDefaultBuild/ClearExes.cmake @@ -2,3 +2,7 @@ file(GLOB exeFiles "${dir}/*.exe") foreach(exeFile IN LISTS exeFiles) file(REMOVE "${exeFile}") endforeach() +file(GLOB exeFiles "${dir}/install/*.exe") +foreach(exeFile IN LISTS exeFiles) + file(REMOVE "${exeFile}") +endforeach() diff --git a/Tests/VSExcludeFromDefaultBuild/ResultTest.cmake b/Tests/VSExcludeFromDefaultBuild/ResultTest.cmake index 8fb00bf..f96e70b 100644 --- a/Tests/VSExcludeFromDefaultBuild/ResultTest.cmake +++ b/Tests/VSExcludeFromDefaultBuild/ResultTest.cmake @@ -7,6 +7,12 @@ macro(TestExists exeName) else() message(FATAL_ERROR "File ${exeFile} was expected ${ARGN} to exist!") endif() + set(exeFile "${dir}/${activeConfig}/install/${exeName}.exe") + if(${ARGN} EXISTS "${exeFile}") + message(STATUS "File ${exeFile} was correctly found ${ARGN} to exist.") + else() + message(FATAL_ERROR "File ${exeFile} was expected ${ARGN} to exist!") + endif() endmacro() TestExists(DefaultBuilt) |