Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Tests/CMakeCommands/target_link_directories/CMakeLists.txt
3153 views
1
cmake_minimum_required(VERSION 3.12)
2
3
project(target_link_directories LANGUAGES C)
4
5
add_library(target_link_directories SHARED LinkDirectoriesLib.c)
6
# Test no items
7
target_link_directories(target_link_directories PRIVATE)
8
9
add_library(target_link_directories_2 SHARED EXCLUDE_FROM_ALL LinkDirectoriesLib.c)
10
target_link_directories(target_link_directories_2 PRIVATE /private/dir INTERFACE /interface/dir)
11
get_target_property(result target_link_directories_2 LINK_DIRECTORIES)
12
if (NOT result STREQUAL "/private/dir")
13
message(SEND_ERROR "${result} target_link_directories not populated the LINK_DIRECTORIES target property")
14
endif()
15
get_target_property(result target_link_directories_2 INTERFACE_LINK_DIRECTORIES)
16
if (NOT result STREQUAL "/interface/dir")
17
message(SEND_ERROR "target_link_directories not populated the INTERFACE_LINK_DIRECTORIES target property of shared library")
18
endif()
19
20
add_library(target_link_directories_3 STATIC EXCLUDE_FROM_ALL LinkDirectoriesLib.c)
21
target_link_directories(target_link_directories_3 INTERFACE /interface/dir)
22
get_target_property(result target_link_directories_3 INTERFACE_LINK_DIRECTORIES)
23
if (NOT result STREQUAL "/interface/dir")
24
message(SEND_ERROR "target_link_directories not populated the INTERFACE_LINK_DIRECTORIES target property of static library")
25
endif()
26
27
add_library(target_link_directories_4 SHARED EXCLUDE_FROM_ALL LinkDirectoriesLib.c)
28
target_link_directories(target_link_directories_4 PRIVATE relative/dir)
29
get_target_property(result target_link_directories_4 LINK_DIRECTORIES)
30
if (NOT result STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/relative/dir")
31
message(SEND_ERROR "target_link_directories not populated the LINK_DIRECTORIES with relative path")
32
endif()
33
34
add_subdirectory(subdir)
35
target_link_directories(target_link_directories_5 PRIVATE relative/dir)
36
get_target_property(result target_link_directories_5 LINK_DIRECTORIES)
37
if (NOT result STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/relative/dir")
38
message(SEND_ERROR "target_link_directories not populated the LINK_DIRECTORIES with relative path")
39
endif()
40
41