diff options
author | Ben Boeckel <ben.boeckel@kitware.com> | 2021-09-23 21:05:03 (GMT) |
---|---|---|
committer | Ben Boeckel <ben.boeckel@kitware.com> | 2021-09-24 15:29:54 (GMT) |
commit | 354c1f5628bdc104c9b9cd0436dd4cfa585124ec (patch) | |
tree | 38639eb10060db952bc5e4716c29eff4d90e49e7 /Tests/RunCMake/Autogen/CMP0111-imported-target-prelude.cmake | |
parent | 7612abd52f192a13848a4d74191633a008892449 (diff) | |
download | CMake-354c1f5628bdc104c9b9cd0436dd4cfa585124ec.zip CMake-354c1f5628bdc104c9b9cd0436dd4cfa585124ec.tar.gz CMake-354c1f5628bdc104c9b9cd0436dd4cfa585124ec.tar.bz2 |
Tests/RunCMake/Autogen: test CMP0111 behavior
On Windows, imported shared libraries which only have an
`IMPORTED_IMPLIB` set fail if they are depended upon by a target using
automoc. Add a test for the behavior of depending upon all imported
target types from an automoc-using target.
Diffstat (limited to 'Tests/RunCMake/Autogen/CMP0111-imported-target-prelude.cmake')
-rw-r--r-- | Tests/RunCMake/Autogen/CMP0111-imported-target-prelude.cmake | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Tests/RunCMake/Autogen/CMP0111-imported-target-prelude.cmake b/Tests/RunCMake/Autogen/CMP0111-imported-target-prelude.cmake new file mode 100644 index 0000000..8fa6041 --- /dev/null +++ b/Tests/RunCMake/Autogen/CMP0111-imported-target-prelude.cmake @@ -0,0 +1,32 @@ +enable_language(CXX) + +find_package(Qt5 REQUIRED COMPONENTS Core) + +# Detect `-NOTFOUND` libraries at generate time. +cmake_policy(SET CMP0111 NEW) + +add_executable(imported::executable IMPORTED) +add_library(imported::shared SHARED IMPORTED) +add_library(imported::static STATIC IMPORTED) +add_library(imported::unknown UNKNOWN IMPORTED) +add_library(imported::interface INTERFACE IMPORTED) +add_library(imported::module MODULE IMPORTED) + +function (set_location target name loc) + set_property(TARGET "imported::${target}" PROPERTY + "IMPORTED_${name}" "${loc}") +endfunction () + +set(CMAKE_AUTOMOC 1) + +add_library(automoc + empty.cpp) +target_link_libraries(automoc + PRIVATE + imported::shared + imported::static + imported::unknown + imported::interface) +add_dependencies(automoc + imported::executable + imported::module) |