aboutsummaryrefslogtreecommitdiff
path: root/cmake/ProjUtilities.cmake
diff options
context:
space:
mode:
authorMike Taves <mwtoews@gmail.com>2021-02-26 00:45:42 +1300
committerGitHub <noreply@github.com>2021-02-26 00:45:42 +1300
commit3d22f6f0a7f3919d7ed6ac4ebb09d233f5fc65c2 (patch)
tree2b6d5d873a85a297b206e60aa92ea80e46994118 /cmake/ProjUtilities.cmake
parent1a518773616fb001483c175e8dfab00c06e83c89 (diff)
downloadPROJ-3d22f6f0a7f3919d7ed6ac4ebb09d233f5fc65c2.tar.gz
PROJ-3d22f6f0a7f3919d7ed6ac4ebb09d233f5fc65c2.zip
CMake: add support for pkg-config (#2547)
Diffstat (limited to 'cmake/ProjUtilities.cmake')
-rw-r--r--cmake/ProjUtilities.cmake31
1 files changed, 30 insertions, 1 deletions
diff --git a/cmake/ProjUtilities.cmake b/cmake/ProjUtilities.cmake
index 6f43edb5..f8688cd6 100644
--- a/cmake/ProjUtilities.cmake
+++ b/cmake/ProjUtilities.cmake
@@ -14,7 +14,8 @@
# Macros in this module:
#
# print_variable
-# proj_target_output_name:
+# proj_target_output_name
+# configure_proj_pc
#
################################################################################
@@ -60,3 +61,31 @@ function(proj_target_output_name TARGET_NAME OUTPUT_NAME)
set(${OUTPUT_NAME} ${TARGET_NAME}${SUFFIX} PARENT_SCOPE)
endfunction()
+
+#
+# Configure a pkg-config file proj.pc
+# See also ProjInstallPath.cmake
+#
+
+function(configure_proj_pc)
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "$\{prefix\}")
+ set(libdir "$\{exec_prefix\}/${PROJ_LIB_SUBDIR}")
+ set(includedir "$\{prefix\}/${PROJ_INCLUDE_SUBDIR}")
+ set(datarootdir "$\{prefix\}/${CMAKE_INSTALL_DATAROOTDIR}")
+ set(datadir "$\{datarootdir\}")
+ set(PACKAGE "proj")
+ set(VERSION ${PROJ_VERSION})
+ set(SQLITE3_LIBS -lsqlite3)
+ if(TIFF_ENABLED)
+ set(TIFF_LIBS -ltiff)
+ endif()
+ if(CURL_ENABLED)
+ set(CURL_LIBS -lcurl)
+ endif()
+
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/proj.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/proj.pc
+ @ONLY)
+endfunction()