Pārlūkot izejas kodu

ENH: Add capability to include files to DartTestfile.txt and add example of that

Andy Cedilnik 20 gadi atpakaļ
vecāks
revīzija
6af66e8b20

+ 5 - 0
Source/cmLocalGenerator.cxx

@@ -131,6 +131,11 @@ void cmLocalGenerator::GenerateTestFiles()
     << "# The next line is critical for Dart to work" << std::endl
     << "# Duh :-)" << std::endl << std::endl;
 
+  const char* testIncludeFile = m_Makefile->GetProperty("TEST_INCLUDE_FILE");
+  if ( testIncludeFile )
+    {
+    fout << "INCLUDE(\"" << testIncludeFile << "\")" << std::endl;
+    }
 
   const std::vector<cmTest*> *tests = m_Makefile->GetTests();
   std::vector<cmTest*>::const_iterator it;

+ 5 - 0
Source/kwsys/CMakeLists.txt

@@ -520,6 +520,11 @@ IF(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
   ENDIF(EXECUTABLE_OUTPUT_PATH)
 
   IF(BUILD_TESTING)
+    IF(CTEST_TEST_KWSYS)
+      CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/ExtraTest.cmake.in"
+        "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake")
+      SET_DIRECTORY_PROPERTIES(PROPERTIES TEST_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake")
+    ENDIF(CTEST_TEST_KWSYS)
     ADD_TEST(kwsys-testSystemTools ${EXEC_DIR}/testSystemTools)
     ADD_TEST(kwsys-testProcess-1 ${EXEC_DIR}/testProcess 1)
     ADD_TEST(kwsys-testProcess-2 ${EXEC_DIR}/testProcess 2)

+ 1 - 0
Source/kwsys/ExtraTest.cmake.in

@@ -0,0 +1 @@
+MESSAGE("*** This message is generated by message inside a file that is included in DartTestfile.txt ***")

+ 3 - 0
Tests/CTestTest/test.cmake.in

@@ -48,6 +48,9 @@ MEMORYCHECK_COMMAND:STRING=@MEMORYCHECK_COMMAND@
 MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH=@MEMORYCHECK_SUPPRESSIONS_FILE@
 MEMORYCHECK_COMMAND_OPTIONS:STRING=@MEMORYCHECK_COMMAND_OPTIONS@
 COVERAGE_COMMAND:FILEPATH=@COVERAGE_COMMAND@
+
+# This one is needed for testing advanced ctest features
+CTEST_TEST_KWSYS:BOOL=ON
 ")
 
 # if you do not want to use the default location for a 

+ 3 - 0
Tests/CTestTest2/test.cmake.in

@@ -24,6 +24,9 @@ CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
 CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
 CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
 CMAKE_CXX_COMPILER:STRING=@CMAKE_CXX_COMPILER@
+
+# This one is needed for testing advanced ctest features
+CTEST_TEST_KWSYS:BOOL=ON
 ")
 
 CTEST_START(Experimental)