You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
2.4 KiB

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()