CMake/Tests/RunCMake/Framework/InstallBeforeFramework.cmake
Brad King d9dd68cb60 macOS: Restore compatibility for setting FRAMEWORK after install()
The `FRAMEWORK` target property affects the way the `install()` command
treats the target and so should be set first.  Our implementation
assumed that this was always the case and led to an assertion failure.
Prior to CMake 3.12 this was visible only when using an explicit
`LIBRARY ... NAMELINK_ONLY` option, but commit 0212d7c762 (install: add
NAMELINK_COMPONENT argument, 2018-04-18, v3.12.0-rc1~139^2~3) made
it possible with a simple `LIBRARY DESTINATION`.

Fully supporting out-of-order specification will require non-trivial
refactoring to defer install generator creation to generate time.
For now simply restore the old behavior of installing the framework
to the library destination.

Fixes: #18848
2019-01-29 12:49:53 -05:00

6 lines
144 B
CMake

enable_language(C)
add_library(foo SHARED foo.c)
install(TARGETS foo LIBRARY DESTINATION lib)
set_property(TARGET foo PROPERTY FRAMEWORK TRUE)