Path: blob/master/Tests/CMakeCommands/target_link_directories/CMakeLists.txt
3153 views
cmake_minimum_required(VERSION 3.12)12project(target_link_directories LANGUAGES C)34add_library(target_link_directories SHARED LinkDirectoriesLib.c)5# Test no items6target_link_directories(target_link_directories PRIVATE)78add_library(target_link_directories_2 SHARED EXCLUDE_FROM_ALL LinkDirectoriesLib.c)9target_link_directories(target_link_directories_2 PRIVATE /private/dir INTERFACE /interface/dir)10get_target_property(result target_link_directories_2 LINK_DIRECTORIES)11if (NOT result STREQUAL "/private/dir")12message(SEND_ERROR "${result} target_link_directories not populated the LINK_DIRECTORIES target property")13endif()14get_target_property(result target_link_directories_2 INTERFACE_LINK_DIRECTORIES)15if (NOT result STREQUAL "/interface/dir")16message(SEND_ERROR "target_link_directories not populated the INTERFACE_LINK_DIRECTORIES target property of shared library")17endif()1819add_library(target_link_directories_3 STATIC EXCLUDE_FROM_ALL LinkDirectoriesLib.c)20target_link_directories(target_link_directories_3 INTERFACE /interface/dir)21get_target_property(result target_link_directories_3 INTERFACE_LINK_DIRECTORIES)22if (NOT result STREQUAL "/interface/dir")23message(SEND_ERROR "target_link_directories not populated the INTERFACE_LINK_DIRECTORIES target property of static library")24endif()2526add_library(target_link_directories_4 SHARED EXCLUDE_FROM_ALL LinkDirectoriesLib.c)27target_link_directories(target_link_directories_4 PRIVATE relative/dir)28get_target_property(result target_link_directories_4 LINK_DIRECTORIES)29if (NOT result STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/relative/dir")30message(SEND_ERROR "target_link_directories not populated the LINK_DIRECTORIES with relative path")31endif()3233add_subdirectory(subdir)34target_link_directories(target_link_directories_5 PRIVATE relative/dir)35get_target_property(result target_link_directories_5 LINK_DIRECTORIES)36if (NOT result STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/relative/dir")37message(SEND_ERROR "target_link_directories not populated the LINK_DIRECTORIES with relative path")38endif()394041