Files
cmake/Tests/RunCMake/FileAPI/imported/CMakeLists.txt
T
Craig Scott 53ed1e5893 fileAPI: Fix wrong linking relationship in symbolic library test
Commit 62a1d3e7f1 (FileAPI: Add symbolic property to targets, 2025-09-30)
contained an error in added test code where a wrong library was linked.
The naming of the targets involved make clear the intended linking
relationship, but nothing in the test was actually testing or relying on
that relationship so it went undetected.
2025-10-07 10:44:28 -04:00

45 lines
1.9 KiB
CMake

project(Imported)
add_library(imported_lib UNKNOWN IMPORTED)
set_target_properties(imported_lib PROPERTIES IMPORTED_LOCATION "imported_unk${CMAKE_STATIC_LIBRARY_SUFFIX}")
add_executable(imported_exe IMPORTED)
set_target_properties(imported_exe PROPERTIES
IMPORTED_LOCATION "imported_exe${CMAKE_EXECUTABLE_SUFFIX}"
)
add_executable(link_imported_exe ../empty.c)
target_link_libraries(link_imported_exe PRIVATE imported_lib)
add_library(imported_shared_lib SHARED IMPORTED)
set_target_properties(imported_shared_lib PROPERTIES
IMPORTED_LOCATION "imported_shared${CMAKE_SHARED_LIBRARY_SUFFIX}"
IMPORTED_IMPLIB "imported_shared${CMAKE_IMPORT_LIBRARY_SUFFIX}"
)
add_executable(link_imported_shared_exe ../empty.c)
target_link_libraries(link_imported_shared_exe PRIVATE imported_shared_lib)
add_library(imported_static_lib STATIC IMPORTED)
set_target_properties(imported_static_lib PROPERTIES IMPORTED_LOCATION "imported_static${CMAKE_STATIC_LIBRARY_SUFFIX}")
add_executable(link_imported_static_exe ../empty.c)
target_link_libraries(link_imported_static_exe PRIVATE imported_static_lib)
if(NOT CMAKE_GENERATOR STREQUAL "Xcode" OR NOT CMAKE_OSX_ARCHITECTURES MATCHES "[;$]")
add_library(imported_object_lib OBJECT IMPORTED)
add_executable(link_imported_object_exe ../empty.c)
target_link_libraries(link_imported_object_exe PRIVATE imported_object_lib)
endif()
add_library(imported_interface_lib INTERFACE IMPORTED)
add_executable(link_imported_interface_exe ../empty.c)
target_link_libraries(link_imported_interface_exe PRIVATE imported_interface_lib)
add_library(imported_interface_symbolic_lib INTERFACE SYMBOLIC IMPORTED)
add_executable(link_imported_interface_symbolic_exe ../empty.c)
target_link_libraries(link_imported_interface_symbolic_exe PRIVATE imported_interface_symbolic_lib)
install(IMPORTED_RUNTIME_ARTIFACTS imported_shared_lib
DESTINATION lib
)
install(IMPORTED_RUNTIME_ARTIFACTS imported_shared_lib
DESTINATION lib2 OPTIONAL
)