Просмотр исходного кода

ENH: added new test for SourceFile objects and properties

Ken Martin 18 лет назад
Родитель
Сommit
2f07e8e8f8

+ 1 - 0
Tests/CMakeLists.txt

@@ -46,6 +46,7 @@ IF(BUILD_TESTING)
   ADD_TEST_MACRO(LinkLine LinkLine)
   ADD_TEST_MACRO(MacroTest miniMacroTest)
   ADD_TEST_MACRO(Framework bar)
+  ADD_TEST_MACRO(Properties Properties)
 
   # add tests with more complex invocations
   ADD_TEST(TargetName ${CMAKE_CTEST_COMMAND}

+ 27 - 0
Tests/Properties/CMakeLists.txt

@@ -0,0 +1,27 @@
+# a simple CXX only test case
+project (Properties)
+
+# these first three tests really test both properties and the management of 
+# cmSourceFile objects by CMake. 
+
+# test properties on a build tree file that is relative (yuck)
+configure_file(properties.h.in "${Properties_BINARY_DIR}/properties.h")
+set_source_files_properties(properties.h PROPERTIES TEST1 1)
+get_source_file_property(RESULT1 properties.h TEST1)
+
+# test properties on a headerfile in the source tree 
+# accessed without an extenion (also yuck)
+set_source_files_properties(properties2 PROPERTIES TEST2 1)
+get_source_file_property(RESULT2 properties2 TEST2)
+
+# test properties on a relative source that is not generated
+set_source_files_properties(SubDir/properties3.cxx PROPERTIES TEST3 1)
+get_source_file_property(RESULT3 SubDir/properties3.cxx TEST3)
+
+include_directories("${Properties_SOURCE_DIR}" "${Properties_BINARY_DIR}")
+
+if (RESULT1 AND RESULT2 AND RESULT3)
+  add_executable (Properties SubDir/properties3.cxx)
+else (RESULT1 AND RESULT2 AND RESULT3)
+  message("Error: test results are TEST1=${TEST1} TEST2=${TEST2} TEST3=${TEST3}")
+endif (RESULT1 AND RESULT2 AND RESULT3)

+ 9 - 0
Tests/Properties/SubDir/properties3.cxx

@@ -0,0 +1,9 @@
+#include "properties.h"
+#include "properties2.h"
+
+#if defined HAVE_PROPERTIES_H && defined HAVE_PROPERTIES2_H
+int main ()
+{
+  return 0;
+}
+#endif

+ 1 - 0
Tests/Properties/properties.h.in

@@ -0,0 +1 @@
+#define HAVE_PROPERTIES_H

+ 1 - 0
Tests/Properties/properties2.h

@@ -0,0 +1 @@
+#define HAVE_PROPERTIES2_H