35 lines
1.1 KiB
CMake
Raw Normal View History

2024-11-11 15:18:55 +01:00
cmake_minimum_required(VERSION 3.10)
2010-03-17 14:00:29 +02:00
project(LinkDirectoryExternal C)
2018-10-28 12:09:07 +01:00
2020-08-30 11:54:41 +02:00
set(cfg_dir)
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(_isMultiConfig)
set(cfg_dir /$<CONFIG>)
endif()
2018-10-28 12:09:07 +01:00
add_executable(myexe2 myexe.c)
set_property(TARGET myexe2 PROPERTY OUTPUT_NAME LinkDirectory2)
2020-08-30 11:54:41 +02:00
target_link_directories(myexe2 PRIVATE lib${cfg_dir} "${CMAKE_CURRENT_SOURCE_DIR}/../lib${cfg_dir}")
2018-10-28 12:09:07 +01:00
target_link_libraries(myexe2 PRIVATE mylibA mylibB)
add_library (mylibs INTERFACE)
2020-08-30 11:54:41 +02:00
target_link_directories(mylibs INTERFACE lib${cfg_dir} "${CMAKE_CURRENT_SOURCE_DIR}/../lib${cfg_dir}")
2018-10-28 12:09:07 +01:00
target_link_libraries(mylibs INTERFACE mylibA mylibB)
add_executable(myexe3 myexe.c)
set_property(TARGET myexe3 PROPERTY OUTPUT_NAME LinkDirectory3)
target_link_libraries(myexe3 PRIVATE mylibs)
2010-03-17 14:00:29 +02:00
# Test CMP0015 OLD behavior: -L../lib
cmake_policy(SET CMP0015 OLD)
2020-08-30 11:54:41 +02:00
link_directories(../lib${cfg_dir})
2010-03-17 14:00:29 +02:00
# Test CMP0015 NEW behavior: -L${CMAKE_CURRENT_SOURCE_DIR}/lib
cmake_policy(SET CMP0015 NEW)
2020-08-30 11:54:41 +02:00
link_directories(lib${cfg_dir})
2010-03-17 14:00:29 +02:00
add_executable(myexe myexe.c)
set_property(TARGET myexe PROPERTY OUTPUT_NAME LinkDirectory)
target_link_libraries(myexe mylibA mylibB)