summaryrefslogtreecommitdiffstats
path: root/Tests/Complex
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/Complex')
-rw-r--r--Tests/Complex/Executable/CMakeLists.txt2
-rw-r--r--Tests/Complex/Executable/complex.cxx13
-rw-r--r--Tests/Complex/Library/CMakeLists.txt26
-rw-r--r--Tests/Complex/Library/file2.cxx19
-rw-r--r--Tests/Complex/Library/file2.h1
5 files changed, 42 insertions, 19 deletions
diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt
index 801c777..9acd780 100644
--- a/Tests/Complex/Executable/CMakeLists.txt
+++ b/Tests/Complex/Executable/CMakeLists.txt
@@ -1,8 +1,8 @@
#
# Create exe.
#
+SET_SOURCE_FILES_PROPERTIES(complex COMPILE_FLAGS "-DSET_SOURCE_FILES_PROPERTIES")
ADD_EXECUTABLE(complex complex)
-
SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared)
TARGET_LINK_LIBRARIES(complex ${COMPLEX_LIBS})
diff --git a/Tests/Complex/Executable/complex.cxx b/Tests/Complex/Executable/complex.cxx
index f1fe92d..54f45e0 100644
--- a/Tests/Complex/Executable/complex.cxx
+++ b/Tests/Complex/Executable/complex.cxx
@@ -95,6 +95,11 @@ void TestDir(const char* filename)
int main()
{
+#ifdef SET_SOURCE_FILES_PROPERTIES
+ cmPassed("SET_SOURCE_FILES_PROPERTIES set FLAGS passed on an ADD_EXECUTABLE source");
+#else
+ cmFailed("SET_SOURCE_FILES_PROPERTIES set FLAGS passed on an ADD_EXECUTABLE source");
+#endif
if(sharedFunction() != 1)
{
cmFailed("Call to sharedFunction from shared library failed.");
@@ -121,6 +126,14 @@ int main()
{
cmPassed("Call to file2 function returned 1.");
}
+ if(PropertyTest() != 1)
+ {
+ cmFailed("Call to PropertyTest function from library failed.");
+ }
+ else
+ {
+ cmPassed("Call to PropertyTest function returned 1.");
+ }
// ----------------------------------------------------------------------
// Test ADD_DEFINITIONS
diff --git a/Tests/Complex/Library/CMakeLists.txt b/Tests/Complex/Library/CMakeLists.txt
index 86a7501..5533d04 100644
--- a/Tests/Complex/Library/CMakeLists.txt
+++ b/Tests/Complex/Library/CMakeLists.txt
@@ -25,26 +25,16 @@ ADD_LIBRARY(CMakeTestLibrary LibrarySources)
#
# test SET_SOURCE_FILES_PROPERTIES
-SET_SOURCE_FILES_PROPERTIES(nonexisting_file2 GENERATED ABSTRACT WRAP_EXCLUDE FLAGS "-foo -bar")
+SET_SOURCE_FILES_PROPERTIES(nonexisting_file2 GENERATED ABSTRACT WRAP_EXCLUDE COMPILE_FLAGS "-foo -bar")
GET_SOURCE_FILE_PROPERTY(ISABS nonexisting_file2 ABSTRACT)
GET_SOURCE_FILE_PROPERTY(WRAPEX nonexisting_file2 WRAP_EXCLUDE)
-GET_SOURCE_FILE_PROPERTY(FLAGS nonexisting_file2 FLAGS)
+GET_SOURCE_FILE_PROPERTY(FLAGS nonexisting_file2 COMPILE_FLAGS)
MESSAGE("ISABS = ${ISABS} WRAPEX = ${WRAPEX} FLAGS = ${FLAGS}")
-# to force a failed test add a source file that does not exist with
-# the name of the failed test
-IF(NOT ISABS)
- SOURCE_FILES(ISABS IS_ABSTRACT_FailTest)
-ENDIF(NOT ISABS)
-
-IF(NOT WRAPEX)
- SOURCE_FILES(WRAPEX IS_WRAP_EXCLUDE_FailTest)
-ENDIF(NOT WRAPEX)
-
-IF(FLAGS MATCHES "-foo -bar")
- MESSAGE("Flags are set correctly ")
-ELSE(FLAGS MATCHES "-foo -bar")
- SOURCE_FILES(WRAPEX FLAGS_FailTest)
-ENDIF(FLAGS MATCHES "-foo -bar")
+
+CONFIGURE_FILE(
+ ${Complex_SOURCE_DIR}/Library/cmTestLibraryConfigure.h.in
+ ${Complex_BINARY_DIR}/Library/cmTestLibraryConfigure.h)
+
@@ -52,7 +42,7 @@ SOURCE_FILES(SharedLibrarySources nonexisting_file2)
SOURCE_FILES_REMOVE(SharedLibrarySources GENERATED nonexisting_file2)
-SET_SOURCE_FILES_PROPERTIES(fileFlags FLAGS "-DEXTRA_FLAG" )
+SET_SOURCE_FILES_PROPERTIES(fileFlags COMPILE_FLAGS "-DEXTRA_FLAG" )
SOURCE_FILES(SharedLibrarySources sharedFile fileFlags)
ADD_LIBRARY(CMakeTestLibraryShared SHARED SharedLibrarySources)
diff --git a/Tests/Complex/Library/file2.cxx b/Tests/Complex/Library/file2.cxx
index 1351669..29bc9d8 100644
--- a/Tests/Complex/Library/file2.cxx
+++ b/Tests/Complex/Library/file2.cxx
@@ -1,4 +1,23 @@
+#include <Library/cmTestLibraryConfigure.h>
+#include <string.h>
+
int file2()
{
return 1;
}
+
+int PropertyTest()
+{
+ int ret = 1;
+#ifndef ISABS
+ ret = 0;
+#endif
+#ifndef WRAPEX
+ ret = 0;
+#endif
+ if(strcmp(FLAGS,"-foo -bar") != 0)
+ {
+ ret =0;
+ }
+ return ret;
+}
diff --git a/Tests/Complex/Library/file2.h b/Tests/Complex/Library/file2.h
index dea4b80..5e0b315 100644
--- a/Tests/Complex/Library/file2.h
+++ b/Tests/Complex/Library/file2.h
@@ -1 +1,2 @@
int file2();
+int PropertyTest();