Browse Source

ENH: Added explicit name for option to test CMakeLib. Added option to disable testing of CMakeLib if system utility libraries are used until linking made easier.

Brad King 19 năm trước cách đây
mục cha
commit
b646183f44

+ 9 - 0
Tests/Complex/CMakeLists.txt

@@ -4,6 +4,15 @@
 SET(CMAKE_BACKWARDS_COMPATIBILITY 1.4)
 PROJECT (Complex)
 
+# Choose whether to test CMakeLib.
+SET(COMPLEX_TEST_CMAKELIB 1)
+IF(CMAKE_TEST_DIFFERENT_GENERATOR)
+  SET(COMPLEX_TEST_CMAKELIB 0)
+ENDIF(CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(CMAKE_TEST_SYSTEM_LIBRARIES)
+  SET(COMPLEX_TEST_CMAKELIB 0)
+ENDIF(CMAKE_TEST_SYSTEM_LIBRARIES)
+
 #
 # Define a macro
 #

+ 4 - 4
Tests/Complex/Executable/CMakeLists.txt

@@ -6,14 +6,14 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
 SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
 
-IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(COMPLEX_TEST_CMAKELIB)
   # Link to CMake lib
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source/kwsys)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmexpat)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmzlib)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmtar)
-ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+ENDIF(COMPLEX_TEST_CMAKELIB)
 
   # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to 
 SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
@@ -23,9 +23,9 @@ ADD_EXECUTABLE(A A.cxx A.hh A.h A.txt)
 ADD_EXECUTABLE(complex complex testcflags.c )
 #  Sub1/NameConflictTest.c Sub2/NameConflictTest.c)
 ADD_EXECUTABLE(complex.file complex.file.cxx)
-IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(COMPLEX_TEST_CMAKELIB)
   TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib cmtar)
-ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+ENDIF(COMPLEX_TEST_CMAKELIB)
 
 IF (UNIX)
   TARGET_LINK_LIBRARIES(complex ${CMAKE_DL_LIBS})

+ 5 - 5
Tests/Complex/Executable/complex.cxx

@@ -8,7 +8,7 @@
 extern "C" {
 #include "testConly.h"
 }
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
 #include "cmStandardIncludes.h"
 #include "cmSystemTools.h"
 #include "cmDynamicLoader.h"
@@ -64,7 +64,7 @@ void cmPassed(const char* Message, const char* m2="")
 This is a problem. Looks like ADD_DEFINITIONS and REMOVE_DEFINITIONS does not work
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
 // Here is a stupid function that tries to use std::string methods
 // so that the dec cxx compiler will instantiate the stuff that
 // we are using from the CMakeLib library....
@@ -327,7 +327,7 @@ int main()
 #endif
   std::string exe = lib;
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR  
+#ifdef CMAKE_TEST_CMAKELIB  
   // Test a single character executable to test a: in makefiles
   exe += "A";
   exe += cmSystemTools::GetExecutableExtension();
@@ -1059,7 +1059,7 @@ int main()
     }
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR  
+#ifdef CMAKE_TEST_CMAKELIB  
   // ----------------------------------------------------------------------
   // Some pre-build/pre-link/post-build custom-commands have been
   // attached to the lib (see Library/).
@@ -1257,7 +1257,7 @@ int main()
   cmPassed("CMake SET CACHE FORCE");
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
   // first run with shouldFail = true, this will
   // run with A B C as set by the CMakeList.txt file.
   if(!TestLibraryOrder(true))

+ 2 - 1
Tests/Complex/cmTestConfigure.h.in

@@ -4,7 +4,8 @@
 #cmakedefine ONE_VAR_IS_DEFINED
 #cmakedefine ZERO_VAR
 
-#cmakedefine CMAKE_TEST_DIFFERENT_GENERATOR
+#cmakedefine COMPLEX_TEST_CMAKELIB
+
 #define STRING_VAR "${STRING_VAR}"
 
 // Test FOREACH

+ 9 - 0
Tests/ComplexOneConfig/CMakeLists.txt

@@ -4,6 +4,15 @@
 SET(CMAKE_BACKWARDS_COMPATIBILITY 1.4)
 PROJECT (Complex)
 
+# Choose whether to test CMakeLib.
+SET(COMPLEX_TEST_CMAKELIB 1)
+IF(CMAKE_TEST_DIFFERENT_GENERATOR)
+  SET(COMPLEX_TEST_CMAKELIB 0)
+ENDIF(CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(CMAKE_TEST_SYSTEM_LIBRARIES)
+  SET(COMPLEX_TEST_CMAKELIB 0)
+ENDIF(CMAKE_TEST_SYSTEM_LIBRARIES)
+
 #
 # Define a macro
 #

+ 4 - 4
Tests/ComplexOneConfig/Executable/CMakeLists.txt

@@ -6,14 +6,14 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
 SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
 
-IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(COMPLEX_TEST_CMAKELIB)
   # Link to CMake lib
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source/kwsys)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmexpat)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmzlib)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmtar)
-ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+ENDIF(COMPLEX_TEST_CMAKELIB)
 
   # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to 
 SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
@@ -23,9 +23,9 @@ ADD_EXECUTABLE(A A.cxx A.hh A.h A.txt)
 ADD_EXECUTABLE(complex complex testcflags.c )
 #  Sub1/NameConflictTest.c Sub2/NameConflictTest.c)
 ADD_EXECUTABLE(complex.file complex.file.cxx)
-IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(COMPLEX_TEST_CMAKELIB)
   TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib cmtar)
-ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+ENDIF(COMPLEX_TEST_CMAKELIB)
 
 IF (UNIX)
   TARGET_LINK_LIBRARIES(complex ${CMAKE_DL_LIBS})

+ 5 - 5
Tests/ComplexOneConfig/Executable/complex.cxx

@@ -8,7 +8,7 @@
 extern "C" {
 #include "testConly.h"
 }
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
 #include "cmStandardIncludes.h"
 #include "cmSystemTools.h"
 #include "cmDynamicLoader.h"
@@ -64,7 +64,7 @@ void cmPassed(const char* Message, const char* m2="")
 This is a problem. Looks like ADD_DEFINITIONS and REMOVE_DEFINITIONS does not work
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
 // Here is a stupid function that tries to use std::string methods
 // so that the dec cxx compiler will instantiate the stuff that
 // we are using from the CMakeLib library....
@@ -327,7 +327,7 @@ int main()
 #endif
   std::string exe = lib;
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR  
+#ifdef CMAKE_TEST_CMAKELIB  
   // Test a single character executable to test a: in makefiles
   exe += "A";
   exe += cmSystemTools::GetExecutableExtension();
@@ -1059,7 +1059,7 @@ int main()
     }
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR  
+#ifdef CMAKE_TEST_CMAKELIB  
   // ----------------------------------------------------------------------
   // Some pre-build/pre-link/post-build custom-commands have been
   // attached to the lib (see Library/).
@@ -1257,7 +1257,7 @@ int main()
   cmPassed("CMake SET CACHE FORCE");
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
   // first run with shouldFail = true, this will
   // run with A B C as set by the CMakeList.txt file.
   if(!TestLibraryOrder(true))

+ 2 - 1
Tests/ComplexOneConfig/cmTestConfigure.h.in

@@ -4,7 +4,8 @@
 #cmakedefine ONE_VAR_IS_DEFINED
 #cmakedefine ZERO_VAR
 
-#cmakedefine CMAKE_TEST_DIFFERENT_GENERATOR
+#cmakedefine COMPLEX_TEST_CMAKELIB
+
 #define STRING_VAR "${STRING_VAR}"
 
 // Test FOREACH

+ 9 - 0
Tests/ComplexRelativePaths/CMakeLists.txt

@@ -4,6 +4,15 @@
 SET(CMAKE_BACKWARDS_COMPATIBILITY 1.4)
 PROJECT (Complex)
 
+# Choose whether to test CMakeLib.
+SET(COMPLEX_TEST_CMAKELIB 1)
+IF(CMAKE_TEST_DIFFERENT_GENERATOR)
+  SET(COMPLEX_TEST_CMAKELIB 0)
+ENDIF(CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(CMAKE_TEST_SYSTEM_LIBRARIES)
+  SET(COMPLEX_TEST_CMAKELIB 0)
+ENDIF(CMAKE_TEST_SYSTEM_LIBRARIES)
+
 #
 # Define a macro
 #

+ 4 - 4
Tests/ComplexRelativePaths/Executable/CMakeLists.txt

@@ -6,14 +6,14 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
 SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
 
-IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(COMPLEX_TEST_CMAKELIB)
   # Link to CMake lib
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source/kwsys)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmexpat)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmzlib)
   LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmtar)
-ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+ENDIF(COMPLEX_TEST_CMAKELIB)
 
   # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to 
 SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
@@ -23,9 +23,9 @@ ADD_EXECUTABLE(A A.cxx A.hh A.h A.txt)
 ADD_EXECUTABLE(complex complex testcflags.c )
 #  Sub1/NameConflictTest.c Sub2/NameConflictTest.c)
 ADD_EXECUTABLE(complex.file complex.file.cxx)
-IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+IF(COMPLEX_TEST_CMAKELIB)
   TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib cmtar)
-ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+ENDIF(COMPLEX_TEST_CMAKELIB)
 
 IF (UNIX)
   TARGET_LINK_LIBRARIES(complex ${CMAKE_DL_LIBS})

+ 5 - 5
Tests/ComplexRelativePaths/Executable/complex.cxx

@@ -8,7 +8,7 @@
 extern "C" {
 #include "testConly.h"
 }
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
 #include "cmStandardIncludes.h"
 #include "cmSystemTools.h"
 #include "cmDynamicLoader.h"
@@ -64,7 +64,7 @@ void cmPassed(const char* Message, const char* m2="")
 This is a problem. Looks like ADD_DEFINITIONS and REMOVE_DEFINITIONS does not work
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
 // Here is a stupid function that tries to use std::string methods
 // so that the dec cxx compiler will instantiate the stuff that
 // we are using from the CMakeLib library....
@@ -327,7 +327,7 @@ int main()
 #endif
   std::string exe = lib;
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR  
+#ifdef CMAKE_TEST_CMAKELIB  
   // Test a single character executable to test a: in makefiles
   exe += "A";
   exe += cmSystemTools::GetExecutableExtension();
@@ -1059,7 +1059,7 @@ int main()
     }
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR  
+#ifdef CMAKE_TEST_CMAKELIB  
   // ----------------------------------------------------------------------
   // Some pre-build/pre-link/post-build custom-commands have been
   // attached to the lib (see Library/).
@@ -1257,7 +1257,7 @@ int main()
   cmPassed("CMake SET CACHE FORCE");
 #endif
 
-#ifndef CMAKE_TEST_DIFFERENT_GENERATOR
+#ifdef CMAKE_TEST_CMAKELIB
   // first run with shouldFail = true, this will
   // run with A B C as set by the CMakeList.txt file.
   if(!TestLibraryOrder(true))

+ 2 - 1
Tests/ComplexRelativePaths/cmTestConfigure.h.in

@@ -4,7 +4,8 @@
 #cmakedefine ONE_VAR_IS_DEFINED
 #cmakedefine ZERO_VAR
 
-#cmakedefine CMAKE_TEST_DIFFERENT_GENERATOR
+#cmakedefine COMPLEX_TEST_CMAKELIB
+
 #define STRING_VAR "${STRING_VAR}"
 
 // Test FOREACH