diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2020-02-10 15:15:59 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-02-11 13:34:16 (GMT) |
commit | 9442ae5083d0b2db8d62bae70bdb7459c111d526 (patch) | |
tree | 1b3c6bce199331f5ba3bea6caf024e5eca99f128 /Tests | |
parent | 44b8937b7614560d9e88d25456c8394b4b209d51 (diff) | |
download | CMake-9442ae5083d0b2db8d62bae70bdb7459c111d526.zip CMake-9442ae5083d0b2db8d62bae70bdb7459c111d526.tar.gz CMake-9442ae5083d0b2db8d62bae70bdb7459c111d526.tar.bz2 |
install: Fix regression when using default destinations
In commit 9fc20a4f3e (install: Add sane set of defaults for DESTINATION
and file type parameters, 2018-11-02, v3.14.0-rc1~410^2~1), a regression
was introduced, in which an `install(TARGETS)` with a
RUNTIME/LIBRARY/ARCHIVE DESTINATION but no PUBLIC_HEADER/PRIVATE_HEADER
DESTINATION would then install the headers. The old behavior did not do
this. Restore the old behavior.
Fixes: #20326
Diffstat (limited to 'Tests')
6 files changed, 12 insertions, 12 deletions
diff --git a/Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake b/Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake index 57ad6e1..4a55cd6 100644 --- a/Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake +++ b/Tests/RunCMake/install/TARGETS-Defaults-Cache-all-check.cmake @@ -8,8 +8,7 @@ if(WIN32) [[mybin/exe\.exe]] [[mybin/(lib)?lib1\.dll]] [[myinclude]] - [[myinclude/obj4\.h]] - [[myinclude/obj5\.h]] + [[myinclude/obj3\.h]] [[mylib]] [[mylib/(lib)?lib1\.(dll\.a|lib)]] [[mylib/(lib)?lib2\.(a|lib)]] @@ -24,8 +23,7 @@ elseif(CYGWIN) [[mybin/cyglib1\.dll]] [[mybin/exe\.exe]] [[myinclude]] - [[myinclude/obj4\.h]] - [[myinclude/obj5\.h]] + [[myinclude/obj3\.h]] [[mylib]] [[mylib/liblib1\.dll\.a]] [[mylib/liblib2\.a]] @@ -39,8 +37,7 @@ else() [[mybin]] [[mybin/exe]] [[myinclude]] - [[myinclude/obj4\.h]] - [[myinclude/obj5\.h]] + [[myinclude/obj3\.h]] [[mylib]] [[mylib/liblib1\.(dylib|so)]] [[mylib/liblib2\.a]] diff --git a/Tests/RunCMake/install/TARGETS-Defaults-Cache-stderr.txt b/Tests/RunCMake/install/TARGETS-Defaults-Cache-stderr.txt new file mode 100644 index 0000000..1939097 --- /dev/null +++ b/Tests/RunCMake/install/TARGETS-Defaults-Cache-stderr.txt @@ -0,0 +1,2 @@ +^INSTALL TARGETS - target lib3 has PRIVATE_HEADER files but no PRIVATE_HEADER DESTINATION\. +INSTALL TARGETS - target lib4 has PUBLIC_HEADER files but no PUBLIC_HEADER DESTINATION\.$ diff --git a/Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake b/Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake index bfd8c2c..58c5273 100644 --- a/Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake +++ b/Tests/RunCMake/install/TARGETS-Defaults-Cache.cmake @@ -2,6 +2,7 @@ enable_language(C) add_executable(exe main.c) add_library(lib1 SHARED obj1.c) +set_property(TARGET lib1 PROPERTY PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj3.h) add_library(lib2 STATIC obj3.c) add_library(lib3 SHARED obj4.c) set_property(TARGET lib3 PROPERTY PRIVATE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj4.h) diff --git a/Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake b/Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake index 15335b2..30f2266 100644 --- a/Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake +++ b/Tests/RunCMake/install/TARGETS-Defaults-all-check.cmake @@ -6,8 +6,7 @@ if(WIN32) [[include]] [[include/obj1\.h]] [[include/obj2\.h]] - [[include/obj4\.h]] - [[include/obj5\.h]] + [[include/obj3\.h]] [[lib]] [[lib/(lib)?lib1\.(dll\.a|lib)]] [[lib/(lib)?lib2\.(a|lib)]] @@ -24,8 +23,7 @@ elseif(CYGWIN) [[include]] [[include/obj1\.h]] [[include/obj2\.h]] - [[include/obj4\.h]] - [[include/obj5\.h]] + [[include/obj3\.h]] [[lib]] [[lib/liblib1\.dll\.a]] [[lib/liblib2\.a]] @@ -41,8 +39,7 @@ else() [[include]] [[include/obj1\.h]] [[include/obj2\.h]] - [[include/obj4\.h]] - [[include/obj5\.h]] + [[include/obj3\.h]] [[lib]] [[lib/liblib1\.(dylib|so)]] [[lib/liblib2\.a]] diff --git a/Tests/RunCMake/install/TARGETS-Defaults-stderr.txt b/Tests/RunCMake/install/TARGETS-Defaults-stderr.txt new file mode 100644 index 0000000..1939097 --- /dev/null +++ b/Tests/RunCMake/install/TARGETS-Defaults-stderr.txt @@ -0,0 +1,2 @@ +^INSTALL TARGETS - target lib3 has PRIVATE_HEADER files but no PRIVATE_HEADER DESTINATION\. +INSTALL TARGETS - target lib4 has PUBLIC_HEADER files but no PUBLIC_HEADER DESTINATION\.$ diff --git a/Tests/RunCMake/install/TARGETS-Defaults.cmake b/Tests/RunCMake/install/TARGETS-Defaults.cmake index 324aa11..a580657 100644 --- a/Tests/RunCMake/install/TARGETS-Defaults.cmake +++ b/Tests/RunCMake/install/TARGETS-Defaults.cmake @@ -2,6 +2,7 @@ enable_language(C) add_executable(exe main.c) add_library(lib1 SHARED obj1.c) +set_property(TARGET lib1 PROPERTY PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj3.h) add_library(lib2 STATIC obj3.c) add_library(lib3 SHARED obj4.c) set_property(TARGET lib3 PROPERTY PRIVATE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/obj4.h) |