| enable_language(C) |
| |
| find_package(foo REQUIRED CONFIG NO_DEFAULT_PATH) |
| |
| add_executable(main main.c) |
| target_link_libraries(main PRIVATE foo-install::foo) |
| |
| get_property(enable_exports TARGET foo-install::foo PROPERTY ENABLE_EXPORTS) |
| if (CMAKE_TAPI AND NOT enable_exports) |
| message(SEND_ERROR "foo-install::foo: ENABLE_EXPORTS not set.") |
| endif() |
| |
| get_property(implib TARGET foo-install::foo PROPERTY IMPORTED_IMPLIB_RELEASE) |
| if (CMAKE_TAPI AND NOT implib) |
| message(SEND_ERROR "foo-install::foo: IMPORTED_IMPLIB_RELEASE not set.") |
| endif() |
| if (CMAKE_TAPI AND NOT implib MATCHES "Release/libfoo.tbd$") |
| message(SEND_ERROR "foo-install::foo: ${implib}: wrong value for IMPORTED_IMPLIB_RELEASE.") |
| endif() |
| |
| get_property(location TARGET foo-install::foo PROPERTY IMPORTED_LOCATION_RELEASE) |
| if (NOT location) |
| message(SEND_ERROR "foo-install::foo: IMPORTED_LOCATION_RELEASE not set.") |
| endif() |
| if (NOT location MATCHES "Release/libfoo.dylib$") |
| message(SEND_ERROR "foo-install::foo: ${location}: wrong value for IMPORTED_LOCATION_RELEASE.") |
| endif() |
| |
| |
| include(${foo_BUILD}/foo.cmake) |
| |
| add_executable(main2 main.c) |
| target_link_libraries(main2 PRIVATE foo-build::foo) |
| |
| get_property(enable_exports TARGET foo-build::foo PROPERTY ENABLE_EXPORTS) |
| if (CMAKE_TAPI AND NOT enable_exports) |
| message(SEND_ERROR "foo-build::foo: ENABLE_EXPORTS not set.") |
| endif() |
| |
| get_property(implib TARGET foo-build::foo PROPERTY IMPORTED_IMPLIB_RELEASE) |
| if (CMAKE_TAPI AND NOT implib) |
| message(SEND_ERROR "foo-build::foo: IMPORTED_IMPLIB_RELEASE not set.") |
| endif() |
| if (CMAKE_TAPI AND NOT implib STREQUAL "${foo_BUILD}/libfoo.tbd") |
| message(SEND_ERROR "foo-build::foo: ${implib}: wrong value for IMPORTED_IMPLIB_RELEASE.") |
| endif() |
| |
| get_property(location TARGET foo-build::foo PROPERTY IMPORTED_LOCATION_RELEASE) |
| if (NOT location) |
| message(SEND_ERROR "foo-build::foo: IMPORTED_LOCATION_RELEASE not set.") |
| endif() |
| if (NOT location STREQUAL "${foo_BUILD}/libfoo.dylib") |
| message(SEND_ERROR "foo-build::foo: ${location}: wrong value for IMPORTED_LOCATION_RELEASE.") |
| endif() |