|
|
|
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(is_framework TARGET foo-install::foo PROPERTY FRAMEWORK)
|
|
|
|
if (NOT is_framework)
|
|
|
|
message(SEND_ERROR "foo-build::foo: FRAMEWORK not set.")
|
|
|
|
endif()
|
|
|
|
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 "foo.framework/Versions/A/foo.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 "foo.framework/Versions/A/foo$")
|
|
|
|
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(is_framework TARGET foo-build::foo PROPERTY FRAMEWORK)
|
|
|
|
if (NOT is_framework)
|
|
|
|
message(SEND_ERROR "foo-build::foo: FRAMEWORK not set.")
|
|
|
|
endif()
|
|
|
|
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}/foo.framework/Versions/A/foo.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}/foo.framework/Versions/A/foo")
|
|
|
|
message(SEND_ERROR "foo-build::foo: ${location}: wrong value for IMPORTED_LOCATION_RELEASE.")
|
|
|
|
endif()
|