浏览代码

Merge topic 'cmake-role-fix'

264bdac185 CMAKE_ROLE: Fix value for ctest --build-and-test

Acked-by: Kitware Robot <[email protected]>
Merge-request: !2820
Brad King 6 年之前
父节点
当前提交
eadaf0c8c3

+ 1 - 1
Source/CTest/cmCTestBuildAndTestHandler.cxx

@@ -164,7 +164,7 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
     return 1;
     return 1;
   }
   }
 
 
-  cmake cm(cmake::RoleProject, cmState::CTest);
+  cmake cm(cmake::RoleProject, cmState::Project);
   cm.SetHomeDirectory("");
   cm.SetHomeDirectory("");
   cm.SetHomeOutputDirectory("");
   cm.SetHomeOutputDirectory("");
   std::string cmakeOutString;
   std::string cmakeOutString;

+ 10 - 0
Tests/RunCMake/CMakeRoleGlobalProperty/BuildAndTest/CMakeLists.txt

@@ -0,0 +1,10 @@
+cmake_minimum_required(VERSION 3.12)
+project(CMakeRoleGlobalPropertyBuildAndTest NONE)
+include(CTest)
+
+get_property(role GLOBAL PROPERTY CMAKE_ROLE)
+if(NOT role STREQUAL "PROJECT")
+  message(SEND_ERROR "CMAKE_ROLE property is \"${role}\", should be \"PROJECT\"")
+endif()
+
+add_test(NAME RunCMakeVersion COMMAND "${CMAKE_COMMAND}" --version)

+ 2 - 2
Tests/RunCMake/CMakeRoleGlobalProperty/CMakeLists.txt.in

@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1)
-project(CTestStart@CASE_NAME@ NONE)
+cmake_minimum_required(VERSION 3.12)
+project(CMakeRoleGlobalProperty@CASE_NAME@ NONE)
 include(CTest)
 include(CTest)
 add_test(NAME RunCMakeVersion COMMAND "${CMAKE_COMMAND}" --version)
 add_test(NAME RunCMakeVersion COMMAND "${CMAKE_COMMAND}" --version)

+ 7 - 0
Tests/RunCMake/CMakeRoleGlobalProperty/RunCMakeTest.cmake

@@ -5,3 +5,10 @@ run_cmake(Project)
 run_cmake_command(Script "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_LIST_DIR}/Script.cmake")
 run_cmake_command(Script "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_LIST_DIR}/Script.cmake")
 run_cmake_command(FindPackage "${CMAKE_COMMAND}" --find-package -DNAME=DummyPackage -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}")
 run_cmake_command(FindPackage "${CMAKE_COMMAND}" --find-package -DNAME=DummyPackage -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST "-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_LIST_DIR}")
 run_ctest(CTest)
 run_ctest(CTest)
+run_cmake_command(BuildAndTest "${CMAKE_CTEST_COMMAND}"
+  --build-and-test
+      "${RunCMake_SOURCE_DIR}/BuildAndTest"
+      "${RunCMake_BINARY_DIR}/BuildAndTest-build"
+  --build-project CMakeRoleGlobalPropertyBuildAndTest
+  --build-generator "${RunCMake_GENERATOR}"
+  )