aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2021-02-14 11:33:47 +0100
committerGitHub <noreply@github.com>2021-02-14 11:33:47 +0100
commitcd10468ece8b66199410f274a625a5b05bf36592 (patch)
tree9f4ce5953eabd4670ea5b82a0c0baf0bc2c683f8
parent32d442ddc69cbc159c75781f33c575ea5b11fc43 (diff)
parent5fc8ab2de9f9e44f593e477defdf9b474871a5d2 (diff)
downloadPROJ-cd10468ece8b66199410f274a625a5b05bf36592.tar.gz
PROJ-cd10468ece8b66199410f274a625a5b05bf36592.zip
Merge pull request #2533 from mloskot/ml/cmake-keyword-target-commands
CMake: Prefer keyword signature of target_link_libraries command
-rw-r--r--docs/source/development/cmake.rst4
-rw-r--r--src/bin_cct.cmake2
-rw-r--r--src/bin_cs2cs.cmake2
-rw-r--r--src/bin_geod.cmake2
-rw-r--r--src/bin_geodtest.cmake2
-rw-r--r--src/bin_gie.cmake2
-rw-r--r--src/bin_proj.cmake2
-rw-r--r--src/bin_projinfo.cmake2
-rw-r--r--src/bin_projsync.cmake2
-rw-r--r--src/lib_proj.cmake12
-rw-r--r--test/postinstall/testappprojinfo/CMakeLists.txt2
-rw-r--r--test/unit/CMakeLists.txt45
12 files changed, 38 insertions, 41 deletions
diff --git a/docs/source/development/cmake.rst b/docs/source/development/cmake.rst
index e965f46e..477b4f3b 100644
--- a/docs/source/development/cmake.rst
+++ b/docs/source/development/cmake.rst
@@ -12,7 +12,7 @@ the CMake configuration which comes with the library. Typical usage is:
find_package(PROJ)
- target_link_libraries(MyApp ${PROJ_LIBRARIES})
+ target_link_libraries(MyApp PRIVATE ${PROJ_LIBRARIES})
By adding the imported library target ``${PROJ_LIBRARIES}`` to the
target link libraries, CMake will also pass the include directories to
@@ -36,7 +36,7 @@ package to work with pre-7.0 versions of PROJ, you will need to use
.. code::
find_package(PROJ4)
- target_link_libraries(MyApp ${PROJ4_LIBRARIES})
+ target_link_libraries(MyApp PRIVATE ${PROJ4_LIBRARIES})
include_directories(${PROJ4_INCLUDE_DIRS})
This will also find version 7.0. This use of the PROJ4 name will be
diff --git a/src/bin_cct.cmake b/src/bin_cct.cmake
index 9e9bb7ec..b36f60de 100644
--- a/src/bin_cct.cmake
+++ b/src/bin_cct.cmake
@@ -8,7 +8,7 @@ set(CCT_INCLUDE apps/optargpm.h)
source_group("Source Files\\Bin" FILES ${CCT_SRC})
add_executable(cct ${CCT_SRC} ${CCT_INCLUDE})
-target_link_libraries(cct ${PROJ_LIBRARIES})
+target_link_libraries(cct PRIVATE ${PROJ_LIBRARIES})
target_compile_options(cct PRIVATE ${PROJ_CXX_WARN_FLAGS})
install(TARGETS cct
diff --git a/src/bin_cs2cs.cmake b/src/bin_cs2cs.cmake
index 48fc802b..e3d35871 100644
--- a/src/bin_cs2cs.cmake
+++ b/src/bin_cs2cs.cmake
@@ -7,7 +7,7 @@ set(CS2CS_SRC
source_group("Source Files\\Bin" FILES ${CS2CS_SRC})
add_executable(cs2cs ${CS2CS_SRC} ${CS2CS_INCLUDE})
-target_link_libraries(cs2cs ${PROJ_LIBRARIES})
+target_link_libraries(cs2cs PRIVATE ${PROJ_LIBRARIES})
target_compile_options(cs2cs PRIVATE ${PROJ_CXX_WARN_FLAGS})
install(TARGETS cs2cs
diff --git a/src/bin_geod.cmake b/src/bin_geod.cmake
index c3df5e7a..98dbc4ee 100644
--- a/src/bin_geod.cmake
+++ b/src/bin_geod.cmake
@@ -9,7 +9,7 @@ set(GEOD_INCLUDE apps/geod_interface.h)
source_group("Source Files\\Bin" FILES ${GEOD_SRC} ${GEOD_INCLUDE})
add_executable(geod ${GEOD_SRC} ${GEOD_INCLUDE})
-target_link_libraries(geod ${PROJ_LIBRARIES})
+target_link_libraries(geod PRIVATE ${PROJ_LIBRARIES})
target_compile_options(geod PRIVATE ${PROJ_CXX_WARN_FLAGS})
install(TARGETS geod
diff --git a/src/bin_geodtest.cmake b/src/bin_geodtest.cmake
index cc155672..ab366144 100644
--- a/src/bin_geodtest.cmake
+++ b/src/bin_geodtest.cmake
@@ -4,7 +4,7 @@ set(GEODTEST_INCLUDE)
source_group("Source Files\\Bin" FILES ${GEODTEST_SRC} ${GEODTEST_INCLUDE})
add_executable(geodtest ${GEODTEST_SRC} ${GEODTEST_INCLUDE})
-target_link_libraries(geodtest ${PROJ_LIBRARIES})
+target_link_libraries(geodtest PRIVATE ${PROJ_LIBRARIES})
target_compile_options(geodtest PRIVATE ${PROJ_CXX_WARN_FLAGS})
# Do not install, instead run as a test
diff --git a/src/bin_gie.cmake b/src/bin_gie.cmake
index 94a7cea5..5cf9d86d 100644
--- a/src/bin_gie.cmake
+++ b/src/bin_gie.cmake
@@ -8,7 +8,7 @@ set(GIE_INCLUDE apps/optargpm.h)
source_group("Source Files\\Bin" FILES ${GIE_SRC})
add_executable(gie ${GIE_SRC} ${GIE_INCLUDE})
-target_link_libraries(gie ${PROJ_LIBRARIES})
+target_link_libraries(gie PRIVATE ${PROJ_LIBRARIES})
target_compile_options(gie PRIVATE ${PROJ_CXX_WARN_FLAGS})
install(TARGETS gie
diff --git a/src/bin_proj.cmake b/src/bin_proj.cmake
index 89fd3ff9..d2513386 100644
--- a/src/bin_proj.cmake
+++ b/src/bin_proj.cmake
@@ -10,7 +10,7 @@ add_executable(binproj ${PROJ_SRC})
set_target_properties(binproj
PROPERTIES
RUNTIME_OUTPUT_NAME proj)
-target_link_libraries(binproj ${PROJ_LIBRARIES})
+target_link_libraries(binproj PRIVATE ${PROJ_LIBRARIES})
target_compile_options(binproj PRIVATE ${PROJ_CXX_WARN_FLAGS})
install(TARGETS binproj
diff --git a/src/bin_projinfo.cmake b/src/bin_projinfo.cmake
index 8610a3a7..1b8ed637 100644
--- a/src/bin_projinfo.cmake
+++ b/src/bin_projinfo.cmake
@@ -6,7 +6,7 @@ add_executable(binprojinfo ${PROJINFO_SRC})
set_target_properties(binprojinfo
PROPERTIES
OUTPUT_NAME projinfo)
-target_link_libraries(binprojinfo ${PROJ_LIBRARIES})
+target_link_libraries(binprojinfo PRIVATE ${PROJ_LIBRARIES})
target_compile_options(binprojinfo PRIVATE ${PROJ_CXX_WARN_FLAGS})
install(TARGETS binprojinfo
diff --git a/src/bin_projsync.cmake b/src/bin_projsync.cmake
index 0e71044f..e18eebd9 100644
--- a/src/bin_projsync.cmake
+++ b/src/bin_projsync.cmake
@@ -6,7 +6,7 @@ add_executable(bin_projsync ${PROJSYNC_SRC})
set_target_properties(bin_projsync
PROPERTIES
OUTPUT_NAME projsync)
-target_link_libraries(bin_projsync ${PROJ_LIBRARIES})
+target_link_libraries(bin_projsync PRIVATE ${PROJ_LIBRARIES})
target_compile_options(bin_projsync PRIVATE ${PROJ_CXX_WARN_FLAGS})
install(TARGETS bin_projsync
RUNTIME DESTINATION ${BINDIR})
diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake
index 367ff976..2a248a70 100644
--- a/src/lib_proj.cmake
+++ b/src/lib_proj.cmake
@@ -386,30 +386,30 @@ set(PROJ_LIBRARIES ${PROJ_LIBRARIES} PARENT_SCOPE)
if(UNIX)
find_library(M_LIB m)
if(M_LIB)
- target_link_libraries(${PROJ_CORE_TARGET} -lm)
+ target_link_libraries(${PROJ_CORE_TARGET} PRIVATE -lm)
endif()
find_library(DL_LIB dl)
if(M_LIB)
- target_link_libraries(${PROJ_CORE_TARGET} -ldl)
+ target_link_libraries(${PROJ_CORE_TARGET} PRIVATE -ldl)
endif()
endif()
if(USE_THREAD AND Threads_FOUND AND CMAKE_USE_PTHREADS_INIT)
- target_link_libraries(${PROJ_CORE_TARGET} ${CMAKE_THREAD_LIBS_INIT})
+ target_link_libraries(${PROJ_CORE_TARGET} PRIVATE ${CMAKE_THREAD_LIBS_INIT})
endif()
target_include_directories(${PROJ_CORE_TARGET} PRIVATE ${SQLITE3_INCLUDE_DIR})
-target_link_libraries(${PROJ_CORE_TARGET} ${SQLITE3_LIBRARY})
+target_link_libraries(${PROJ_CORE_TARGET} PRIVATE ${SQLITE3_LIBRARY})
if(TIFF_ENABLED)
target_compile_definitions(${PROJ_CORE_TARGET} PRIVATE -DTIFF_ENABLED)
target_include_directories(${PROJ_CORE_TARGET} PRIVATE ${TIFF_INCLUDE_DIR})
- target_link_libraries(${PROJ_CORE_TARGET} ${TIFF_LIBRARY})
+ target_link_libraries(${PROJ_CORE_TARGET} PRIVATE ${TIFF_LIBRARY})
endif()
if(CURL_ENABLED)
target_compile_definitions(${PROJ_CORE_TARGET} PRIVATE -DCURL_ENABLED)
target_include_directories(${PROJ_CORE_TARGET} PRIVATE ${CURL_INCLUDE_DIR})
- target_link_libraries(${PROJ_CORE_TARGET} ${CURL_LIBRARY})
+ target_link_libraries(${PROJ_CORE_TARGET} PRIVATE ${CURL_LIBRARY})
endif()
if(MSVC AND BUILD_SHARED_LIBS)
diff --git a/test/postinstall/testappprojinfo/CMakeLists.txt b/test/postinstall/testappprojinfo/CMakeLists.txt
index 2405bc8c..beac54ff 100644
--- a/test/postinstall/testappprojinfo/CMakeLists.txt
+++ b/test/postinstall/testappprojinfo/CMakeLists.txt
@@ -17,7 +17,7 @@ foreach(_variableName ${_variableNames})
endforeach()
add_executable(testappprojinfo testappprojinfo.c)
-target_link_libraries(testappprojinfo ${${USE_PROJ_NAME}_LIBRARIES})
+target_link_libraries(testappprojinfo PRIVATE ${${USE_PROJ_NAME}_LIBRARIES})
include(CTest)
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index 7c4c124a..b9efd926 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -73,8 +73,8 @@ add_executable(proj_errno_string_test
main.cpp
proj_errno_string_test.cpp)
target_link_libraries(proj_errno_string_test
- GTest::gtest
- ${PROJ_LIBRARIES})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES})
add_test(NAME proj_errno_string_test COMMAND proj_errno_string_test)
set_property(TEST proj_errno_string_test
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
@@ -83,8 +83,8 @@ add_executable(proj_angular_io_test
main.cpp
proj_angular_io_test.cpp)
target_link_libraries(proj_angular_io_test
- GTest::gtest
- ${PROJ_LIBRARIES})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES})
add_test(NAME proj_angular_io_test COMMAND proj_angular_io_test)
set_property(TEST proj_angular_io_test
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
@@ -93,8 +93,8 @@ add_executable(proj_context_test
main.cpp
proj_context_test.cpp)
target_link_libraries(proj_context_test
- GTest::gtest
- ${PROJ_LIBRARIES})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES})
add_test(NAME proj_context_test COMMAND proj_context_test)
set_property(TEST proj_context_test
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
@@ -106,8 +106,8 @@ else()
main.cpp
pj_phi2_test.cpp)
target_link_libraries(pj_phi2_test
- GTest::gtest
- ${PROJ_LIBRARIES})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES})
add_test(NAME pj_phi2_test COMMAND pj_phi2_test)
set_property(TEST pj_phi2_test
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
@@ -127,20 +127,19 @@ add_executable(proj_test_cpp_api
test_c_api.cpp
test_grids.cpp)
target_link_libraries(proj_test_cpp_api
- GTest::gtest
- ${PROJ_LIBRARIES}
- ${SQLITE3_LIBRARY})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES}
+ PRIVATE ${SQLITE3_LIBRARY})
add_test(NAME proj_test_cpp_api COMMAND proj_test_cpp_api)
set_property(TEST proj_test_cpp_api
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
-
add_executable(gie_self_tests
main.cpp
gie_self_tests.cpp)
target_link_libraries(gie_self_tests
- GTest::gtest
- ${PROJ_LIBRARIES})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES})
add_test(NAME gie_self_tests COMMAND gie_self_tests)
set_property(TEST gie_self_tests
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
@@ -151,34 +150,32 @@ add_executable(test_network
if(CURL_ENABLED)
include_directories(${CURL_INCLUDE_DIR})
target_compile_definitions(test_network PRIVATE -DCURL_ENABLED)
- target_link_libraries(test_network ${CURL_LIBRARY})
+ target_link_libraries(test_network PRIVATE ${CURL_LIBRARY})
endif()
target_link_libraries(test_network
- GTest::gtest
- ${PROJ_LIBRARIES}
- ${SQLITE3_LIBRARY})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES}
+ PRIVATE ${SQLITE3_LIBRARY})
add_test(NAME test_network COMMAND test_network)
set_property(TEST test_network
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
-
add_executable(test_defmodel
main.cpp
test_defmodel.cpp)
target_link_libraries(test_defmodel
- GTest::gtest
- ${PROJ_LIBRARIES})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES})
add_test(NAME test_defmodel COMMAND test_defmodel)
set_property(TEST test_defmodel
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})
-
add_executable(test_tinshift
main.cpp
test_tinshift.cpp)
target_link_libraries(test_tinshift
- GTest::gtest
- ${PROJ_LIBRARIES})
+ PRIVATE GTest::gtest
+ PRIVATE ${PROJ_LIBRARIES})
add_test(NAME test_tinshift COMMAND test_tinshift)
set_property(TEST test_tinshift
PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT})