mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-27 04:09:36 +03:00
58 lines
2.5 KiB
CMake
58 lines
2.5 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)
|
|
set_target_properties(imported_interface_lib PROPERTIES
|
|
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}"
|
|
)
|
|
target_sources(imported_interface_lib
|
|
INTERFACE FILE_SET HEADERS BASE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/.." FILES ../empty.h
|
|
)
|
|
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
|
|
)
|
|
|
|
# This is deliberately missing the IMPORTED_IMPLIB property.
|
|
# The file API needs to tolerate this for unused imported targets.
|
|
add_library(unused_imported_shared_lib SHARED IMPORTED)
|
|
set_target_properties(unused_imported_shared_lib PROPERTIES
|
|
IMPORTED_LOCATION "unused_imported_shared${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
|
)
|