[Cmake-commits] CMake branch, next, updated. v3.0.0-rc4-2987-g29de4a6

Brad King brad.king at kitware.com
Wed May 7 11:08:44 EDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  29de4a6b53117f2c4ae95730b6c1c8f483edc8b3 (commit)
       via  54111286453894beb69ad18a9361edc2a50efc84 (commit)
      from  91324bddd96f6602ba58458e509fdfae2f96fb68 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=29de4a6b53117f2c4ae95730b6c1c8f483edc8b3
commit 29de4a6b53117f2c4ae95730b6c1c8f483edc8b3
Merge: 91324bd 5411128
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed May 7 11:08:42 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed May 7 11:08:42 2014 -0400

    Merge topic 'ctest-bad-generator' into next
    
    54111286 ctest_build: Do not crash on bad generator name


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=54111286453894beb69ad18a9361edc2a50efc84
commit 54111286453894beb69ad18a9361edc2a50efc84
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed May 7 10:59:02 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed May 7 11:02:16 2014 -0400

    ctest_build: Do not crash on bad generator name
    
    If creation of the global generator fails, return early with an error
    message instead of trying to use the generator and crashing.
    
    Add a CTestTestBadGenerator test to cover this case.
    
    Reported-by: Mathieu Malaterre <malat at debian.org>
    Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747306

diff --git a/Source/CTest/cmCTestBuildCommand.cxx b/Source/CTest/cmCTestBuildCommand.cxx
index 12ff718..b250fc3 100644
--- a/Source/CTest/cmCTestBuildCommand.cxx
+++ b/Source/CTest/cmCTestBuildCommand.cxx
@@ -113,6 +113,15 @@ cmCTestGenericHandler* cmCTestBuildCommand::InitializeHandler()
         this->GlobalGenerator =
           this->Makefile->GetCMakeInstance()->CreateGlobalGenerator(
             cmakeGeneratorName);
+        if(!this->GlobalGenerator)
+          {
+          std::string e = "could not create generator named \"";
+          e += cmakeGeneratorName;
+          e += "\"";
+          this->Makefile->IssueMessage(cmake::FATAL_ERROR, e);
+          cmSystemTools::SetFatalErrorOccured();
+          return 0;
+          }
         }
       if(strlen(cmakeBuildConfiguration) == 0)
         {
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 8074a01..c903103 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -2245,6 +2245,18 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
     PASS_REGULAR_EXPRESSION "${CTestTestBadExe_REGEX}")
 
   configure_file(
+    "${CMake_SOURCE_DIR}/Tests/CTestTestBadGenerator/test.cmake.in"
+    "${CMake_BINARY_DIR}/Tests/CTestTestBadGenerator/test.cmake"
+    @ONLY ESCAPE_QUOTES)
+  add_test(CTestTestBadGenerator ${CMAKE_CTEST_COMMAND}
+    -C "\${CTestTest_CONFIG}"
+    -S "${CMake_BINARY_DIR}/Tests/CTestTestBadGenerator/test.cmake" -V
+    --output-log "${CMake_BINARY_DIR}/Tests/CTestTestBadGenerator/testOutput.log"
+    )
+  set_property(TEST CTestTestBadGenerator PROPERTY
+    PASS_REGULAR_EXPRESSION "could not create generator named \"Bad Generator\"")
+
+  configure_file(
     "${CMake_SOURCE_DIR}/Tests/CTestTestParallel/test.cmake.in"
     "${CMake_BINARY_DIR}/Tests/CTestTestParallel/test.cmake"
     @ONLY ESCAPE_QUOTES)
diff --git a/Tests/CTestTestBadGenerator/CMakeLists.txt b/Tests/CTestTestBadGenerator/CMakeLists.txt
new file mode 100644
index 0000000..d46d9bf
--- /dev/null
+++ b/Tests/CTestTestBadGenerator/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.0)
+project(CTestTestDepends NONE)
+include(CTest)
diff --git a/Tests/CTestTestBadGenerator/CTestConfig.cmake b/Tests/CTestTestBadGenerator/CTestConfig.cmake
new file mode 100644
index 0000000..ef98189
--- /dev/null
+++ b/Tests/CTestTestBadGenerator/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestBadGenerator")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestBadGenerator/test.cmake.in b/Tests/CTestTestBadGenerator/test.cmake.in
new file mode 100644
index 0000000..fe4fba8
--- /dev/null
+++ b/Tests/CTestTestBadGenerator/test.cmake.in
@@ -0,0 +1,20 @@
+cmake_minimum_required(VERSION 3.0)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT                "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE                          "@SITE@")
+set(CTEST_BUILD_NAME                    "CTestTest- at BUILDNAME@-Depends")
+
+set(CTEST_SOURCE_DIRECTORY              "@CMake_SOURCE_DIR@/Tests/CTestTestBadGenerator")
+set(CTEST_BINARY_DIRECTORY              "@CMake_BINARY_DIR@/Tests/CTestTestBadGenerator")
+set(CTEST_CVS_COMMAND                   "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR               "Bad Generator")
+set(CTEST_CMAKE_GENERATOR_TOOLSET       "")
+set(CTEST_BUILD_CONFIGURATION           "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND              "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES                   "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+CTEST_START(Experimental)
+CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)

-----------------------------------------------------------------------

Summary of changes:
 Source/CTest/cmCTestBuildCommand.cxx                       |    9 +++++++++
 Tests/CMakeLists.txt                                       |   12 ++++++++++++
 Tests/CTestTestBadGenerator/CMakeLists.txt                 |    3 +++
 .../CTestConfig.cmake                                      |    2 +-
 .../test.cmake.in                                          |   10 +++++-----
 5 files changed, 30 insertions(+), 6 deletions(-)
 create mode 100644 Tests/CTestTestBadGenerator/CMakeLists.txt
 copy Tests/{CTestTestCycle => CTestTestBadGenerator}/CTestConfig.cmake (83%)
 copy Tests/{CTestTestDepends => CTestTestBadGenerator}/test.cmake.in (80%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list