diff options
author | David Cole <david.cole@kitware.com> | 2011-11-09 18:31:05 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2011-11-09 18:35:28 (GMT) |
commit | 537020f9581d36c436d18e30f98d58f0ef5924cc (patch) | |
tree | 93fa26c78f7d4c92e37312dc500544f8577abbbd | |
parent | 51f442e6034a151e797f678e479073285b433d71 (diff) | |
download | CMake-537020f9581d36c436d18e30f98d58f0ef5924cc.zip CMake-537020f9581d36c436d18e30f98d58f0ef5924cc.tar.gz CMake-537020f9581d36c436d18e30f98d58f0ef5924cc.tar.bz2 |
Tests: Nudge MFC test to pass on VS 6 dashboards (#11213)
InstallRequiredSystemLibraries does not install any dlls when
used with VS 6 dashboards. Modify the ValidateBuild script to
expect only 1 file when building with VS 6.
Using "-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>" does not work when
<INSTALL_DIR> evaluates to a long enough string. However, using
"-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>" does work, even with
the longer strings. So: make sure to include the ":PATH" when using
this construct with ExternalProject calls so that they may install
to the proper location on VS 6 builds. All existing calls that match
"CMAKE_INSTALL_PREFIX.*INSTALL_DIR" include the ":PATH" after this
commit.
By the way: https://twitter.com/DLRdave/status/134339505397309440
-rw-r--r-- | Tests/ExternalProject/Example/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Tests/MFC/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Tests/MFC/ValidateBuild.cmake.in | 12 |
3 files changed, 13 insertions, 5 deletions
diff --git a/Tests/ExternalProject/Example/CMakeLists.txt b/Tests/ExternalProject/Example/CMakeLists.txt index 2cadd7d..69ebaaf 100644 --- a/Tests/ExternalProject/Example/CMakeLists.txt +++ b/Tests/ExternalProject/Example/CMakeLists.txt @@ -6,6 +6,6 @@ include(ExternalProject) ExternalProject_Add( cmake281 URL http://www.cmake.org/files/v2.8/cmake-2.8.1.tar.gz - CMAKE_ARGS -D CMAKE_INSTALL_PREFIX=<INSTALL_DIR> + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> BUILD_COMMAND "" ) diff --git a/Tests/MFC/CMakeLists.txt b/Tests/MFC/CMakeLists.txt index df3149a..62ff749 100644 --- a/Tests/MFC/CMakeLists.txt +++ b/Tests/MFC/CMakeLists.txt @@ -17,7 +17,7 @@ ExternalProject_Add(mfcShared PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.SharedMfcDll.txt <SOURCE_DIR>/CMakeLists.txt - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> ) @@ -33,7 +33,7 @@ ExternalProject_Add(mfcStatic PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists.StaticMfcLib.txt <SOURCE_DIR>/CMakeLists.txt - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> ) diff --git a/Tests/MFC/ValidateBuild.cmake.in b/Tests/MFC/ValidateBuild.cmake.in index 68de549..ed923f5 100644 --- a/Tests/MFC/ValidateBuild.cmake.in +++ b/Tests/MFC/ValidateBuild.cmake.in @@ -31,9 +31,17 @@ message(STATUS "===== mfcShared install tree =====") file(GLOB_RECURSE files "${binary_dir}/mfcShared-prefix/bin/*.*") message(STATUS "mfcShared files='${files}'") list(LENGTH files len) -if(len LESS 3) + +set(msvc6 "@MSVC60@") +if("${msvc6}" STREQUAL "1") + set(expected_minimum_file_count 1) +else() + set(expected_minimum_file_count 3) +endif() + +if(len LESS ${expected_minimum_file_count}) message(FATAL_ERROR - "len='${len}' is less than '3' (count of shared 'bin' files)") + "len='${len}' is less than '${expected_minimum_file_count}' (count of shared 'bin' files)") endif() foreach(f ${files}) message(STATUS "file '${f}'") |