diff options
author | Robert Maynard <robert.maynard@kitware.com> | 2017-01-23 19:13:49 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-04-18 15:36:09 (GMT) |
commit | 93c89bc75ceee599ba7c08b8fe1ac5104942054f (patch) | |
tree | fc956fd1c58cd967309e78b9dd0f2384505b8807 /Tests/GeneratorExpression/check_object_files.cmake | |
parent | ac0cf7ff4f5a846381593cf28ebbc9cfaf107149 (diff) | |
download | CMake-93c89bc75ceee599ba7c08b8fe1ac5104942054f.zip CMake-93c89bc75ceee599ba7c08b8fe1ac5104942054f.tar.gz CMake-93c89bc75ceee599ba7c08b8fe1ac5104942054f.tar.bz2 |
Genex: Allow TARGET_OBJECTS to be used everywhere
Previously the `TARGET_OBJECTS` generator expression was limited
only to use in a buildsystem context so that Xcode's placeholders
in object file paths can be evaluated. Lift this restriction so
that the expression can at least be used in most settings.
Co-Author: Brad King <brad.king@kitware.com>
Diffstat (limited to 'Tests/GeneratorExpression/check_object_files.cmake')
-rw-r--r-- | Tests/GeneratorExpression/check_object_files.cmake | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Tests/GeneratorExpression/check_object_files.cmake b/Tests/GeneratorExpression/check_object_files.cmake new file mode 100644 index 0000000..cfccd29 --- /dev/null +++ b/Tests/GeneratorExpression/check_object_files.cmake @@ -0,0 +1,26 @@ + +if (NOT EXISTS ${OBJLIB_LISTFILE}) + message(SEND_ERROR "Object listing file \"${OBJLIB_LISTFILE}\" not found!") +endif() + +file(STRINGS ${OBJLIB_LISTFILE} objlib_files ENCODING UTF-8) + +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(attempts) + list(REMOVE_DUPLICATES attempts) + set(tried " Tried ${attempts}") + endif() + message(SEND_ERROR "File \"${objlib_file}\" does not exist!${tried}") + endif() +endforeach() |