summaryrefslogtreecommitdiffstats
path: root/Tests/GeneratorExpression
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-03-20 14:37:12 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-04-02 21:12:57 (GMT)
commit5de63265e3a22d9a8aa5ad437a5030ccfcbcd02d (patch)
tree558694f9724c696198c6be2faff1a06f98fe6de6 /Tests/GeneratorExpression
parentaa0a3562dd47bdd6d9ca3058bd1dfd525e79d36d (diff)
downloadCMake-5de63265e3a22d9a8aa5ad437a5030ccfcbcd02d.zip
CMake-5de63265e3a22d9a8aa5ad437a5030ccfcbcd02d.tar.gz
CMake-5de63265e3a22d9a8aa5ad437a5030ccfcbcd02d.tar.bz2
Genex: Only evaluate TARGET_OBJECTS to determine target sources.
The output of this expression may contain macros for IDEs to replace such as $(Configuration), $(CURRENT_ARCH) etc. To avoid generating content which is not usable in other contexts, report an error if there is an attempt to use it in other contexts. This commit may be reverted in the future if a solution to the above difference is implemented.
Diffstat (limited to 'Tests/GeneratorExpression')
-rw-r--r--Tests/GeneratorExpression/CMakeLists.txt14
-rw-r--r--Tests/GeneratorExpression/check_object_files.cmake48
-rw-r--r--Tests/GeneratorExpression/objlib1.c5
-rw-r--r--Tests/GeneratorExpression/objlib2.c5
4 files changed, 0 insertions, 72 deletions
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
index b506853..758165c 100644
--- a/Tests/GeneratorExpression/CMakeLists.txt
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -258,17 +258,3 @@ set(CMP0044_TYPE NEW)
add_subdirectory(CMP0044 ${CMAKE_BINARY_DIR}/CMP0044-NEW)
set(CMP0044_TYPE OLD)
add_subdirectory(CMP0044 ${CMAKE_BINARY_DIR}/CMP0044-OLD)
-
-add_library(objlib OBJECT objlib1.c objlib2.c)
-file(GENERATE
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/objlib_files"
- CONTENT "$<JOIN:$<TARGET_OBJECTS:objlib>,\n>\n"
-)
-add_custom_target(check_object_files ALL
- COMMAND ${CMAKE_COMMAND}
- "-DOBJLIB_LISTFILE=${CMAKE_CURRENT_BINARY_DIR}/objlib_files"
- -DTEST_CONFIGURATION=${CMAKE_BUILD_TYPE}
- -DEXPECTED_NUM_OBJECTFILES=2
- -P "${CMAKE_CURRENT_SOURCE_DIR}/check_object_files.cmake"
- DEPENDS objlib
-)
diff --git a/Tests/GeneratorExpression/check_object_files.cmake b/Tests/GeneratorExpression/check_object_files.cmake
deleted file mode 100644
index 889fe80..0000000
--- a/Tests/GeneratorExpression/check_object_files.cmake
+++ /dev/null
@@ -1,48 +0,0 @@
-
-if (NOT EXISTS ${OBJLIB_LISTFILE})
- message(SEND_ERROR "Object listing file \"${OBJLIB_LISTFILE}\" not found!")
-endif()
-
-file(STRINGS ${OBJLIB_LISTFILE} objlib_files)
-
-list(LENGTH objlib_files num_objectfiles)
-if (NOT EXPECTED_NUM_OBJECTFILES EQUAL num_objectfiles)
- message(SEND_ERROR "Unexpected number of entries in object list file (${num_objectfiles} instead of ${EXPECTED_NUM_OBJECTFILES})")
-endif()
-
-foreach(objlib_file ${objlib_files})
- set(file_exists False)
- if (EXISTS ${objlib_file})
- set(file_exists True)
- endif()
-
- if (NOT file_exists)
- if (objlib_file MATCHES ".(CURRENT_ARCH)")
- string(REPLACE "$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)" "*" config_file "${objlib_file}")
- string(REPLACE "$(PROJECT_NAME)" "GeneratorExpression" config_file "${config_file}")
- string(REPLACE "$(CURRENT_ARCH)" "*" config_file "${config_file}")
- file(GLOB_RECURSE files "${config_file}")
- list(LENGTH files num_files)
- if (NOT files)
- message(SEND_ERROR "Got no files for expression ${config_file}")
- endif()
- set(file_exists True)
- else()
- foreach(config_macro "$(Configuration)" "$(OutDir)" "$(IntDir)")
- string(REPLACE "${config_macro}" "${TEST_CONFIGURATION}" config_file "${objlib_file}")
- list(APPEND attempts ${config_file})
- if (EXISTS ${config_file})
- set(file_exists True)
- endif()
- endforeach()
- endif()
- endif()
-
- if (NOT file_exists)
- if(attempts)
- list(REMOVE_DUPLICATES attempts)
- set(tried " Tried ${attempts}")
- endif()
- message(SEND_ERROR "File \"${objlib_file}\" does not exist!${tried}")
- endif()
-endforeach()
diff --git a/Tests/GeneratorExpression/objlib1.c b/Tests/GeneratorExpression/objlib1.c
deleted file mode 100644
index aa8de0a..0000000
--- a/Tests/GeneratorExpression/objlib1.c
+++ /dev/null
@@ -1,5 +0,0 @@
-
-void objlib1()
-{
-
-}
diff --git a/Tests/GeneratorExpression/objlib2.c b/Tests/GeneratorExpression/objlib2.c
deleted file mode 100644
index 3c7307a..0000000
--- a/Tests/GeneratorExpression/objlib2.c
+++ /dev/null
@@ -1,5 +0,0 @@
-
-void objlib2()
-{
-
-}