mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 04:40:18 -05:00
72e7c45e98
Since 3.19, CMake generates a deprecation warning when using a minimum version less than 2.8.12. This eliminates those warnings generated during tests, which are typically hidden from the user and developer but are being generated nonetheless.
35 lines
1.1 KiB
CMake
35 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 2.8.12)
|
|
project(LinkDirectoryExternal C)
|
|
|
|
|
|
set(cfg_dir)
|
|
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
|
if(_isMultiConfig)
|
|
set(cfg_dir /$<CONFIG>)
|
|
endif()
|
|
|
|
add_executable(myexe2 myexe.c)
|
|
set_property(TARGET myexe2 PROPERTY OUTPUT_NAME LinkDirectory2)
|
|
target_link_directories(myexe2 PRIVATE lib${cfg_dir} "${CMAKE_CURRENT_SOURCE_DIR}/../lib${cfg_dir}")
|
|
target_link_libraries(myexe2 PRIVATE mylibA mylibB)
|
|
|
|
add_library (mylibs INTERFACE)
|
|
target_link_directories(mylibs INTERFACE lib${cfg_dir} "${CMAKE_CURRENT_SOURCE_DIR}/../lib${cfg_dir}")
|
|
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)
|
|
|
|
|
|
# Test CMP0015 OLD behavior: -L../lib
|
|
cmake_policy(SET CMP0015 OLD)
|
|
link_directories(../lib${cfg_dir})
|
|
|
|
# Test CMP0015 NEW behavior: -L${CMAKE_CURRENT_SOURCE_DIR}/lib
|
|
cmake_policy(SET CMP0015 NEW)
|
|
link_directories(lib${cfg_dir})
|
|
|
|
add_executable(myexe myexe.c)
|
|
set_property(TARGET myexe PROPERTY OUTPUT_NAME LinkDirectory)
|
|
target_link_libraries(myexe mylibA mylibB)
|