diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 5cfa88510a..03bcf4ac01 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -11,12 +11,19 @@ # ################################################################################# +# +# Configure geos-config +# +function(configure_install_geos_config) + string(REPLACE " " "\\ " prefix ${CMAKE_INSTALL_PREFIX}) + set(exec_prefix "$\{prefix\}") + set(includedir "$\{prefix\}/${CMAKE_INSTALL_INCLUDEDIR}") + set(libdir "$\{exec_prefix\}/${CMAKE_INSTALL_LIBDIR}") + set(VERSION_RELEASE ${GEOS_VERSION_MAJOR}) + set(VERSION ${GEOS_VERSION}) -if(NOT MSVC) - # Consider CMAKE_INSTALL_PREFIX with spaces - string(REPLACE " " "\\ " ESCAPED_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/geos-config.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/geos-config.in ${CMAKE_CURRENT_BINARY_DIR}/geos-config @ONLY NEWLINE_STYLE UNIX) @@ -27,17 +34,31 @@ if(NOT MSVC) OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +endfunction() + +# +# Configure pkg-config file geos.pc +# +function(configure_install_geos_pc) + string(REPLACE " " "\\ " prefix ${CMAKE_INSTALL_PREFIX}) + set(exec_prefix "$\{prefix\}") + set(includedir "$\{prefix\}/${CMAKE_INSTALL_INCLUDEDIR}") + set(libdir "$\{exec_prefix\}/${CMAKE_INSTALL_LIBDIR}") + set(VERSION ${GEOS_VERSION}) - # pkg-config support configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/geos.pc.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/geos.pc.in ${CMAKE_CURRENT_BINARY_DIR}/geos.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/geos.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +endfunction() +if(NOT MSVC) + configure_install_geos_config() + configure_install_geos_pc() endif() add_subdirectory(astyle) diff --git a/tools/geos-config.cmake b/tools/geos-config.cmake deleted file mode 100644 index 6730e2150c..0000000000 --- a/tools/geos-config.cmake +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -prefix=@ESCAPED_INSTALL_PREFIX@ -libdir=${prefix}/lib - -usage() -{ - cat <&2 -fi - -while test $# -gt 0; do - case "$1" in - -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - case $1 in - --prefix) - echo ${prefix} - ;; - --version) - echo @GEOS_VERSION@ - ;; - --libs) - # TODO: make an alias for --clibs - # see http://trac.osgeo.org/geos/ticket/497 - echo -L${libdir} -lgeos-@GEOS_VERSION_MAJOR@ - ;; - --clibs) - echo -L${libdir} -lgeos_c - ;; - --cclibs) - echo -L${libdir} -lgeos - ;; - --static-clibs) - echo -L${libdir} -lgeos_c -lgeos -lm - ;; - --static-cclibs) - echo -L${libdir} -lgeos -lm - ;; - --cflags) - echo -I${prefix}/include - ;; - --ldflags) - echo -L${libdir} - ;; - --includes) - echo ${prefix}/include - ;; - --jtsport) - echo @JTS_PORT@ - ;; - *) - usage 1 1>&2 - ;; - esac - shift -done - diff --git a/tools/geos-config.in b/tools/geos-config.in index 89de835cf5..6eff1eb141 100644 --- a/tools/geos-config.in +++ b/tools/geos-config.in @@ -1,14 +1,9 @@ #!/bin/sh -# escape paths -escape() { - echo "$1" | sed 's/ /\\ /g' -} - -prefix=`escape "@prefix@"` -# exec_prefix is interpolated in @libdir@ -exec_prefix=`escape "@exec_prefix@"` -libdir=`escape "@libdir@"` +prefix=@prefix@ +exec_prefix=@exec_prefix@ +includedir=@includedir@ +libdir=@libdir@ usage() { @@ -64,13 +59,13 @@ while test $# -gt 0; do echo -L${libdir} -lgeos -lm ;; --cflags) - echo -I${prefix}/include + echo -I${includedir} ;; --ldflags) echo -L${libdir} ;; --includes) - echo ${prefix}/include + echo ${includedir} ;; --jtsport) echo @JTS_PORT@ diff --git a/tools/geos.pc.cmake b/tools/geos.pc.cmake deleted file mode 100644 index 0a9df7fb8c..0000000000 --- a/tools/geos.pc.cmake +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@ESCAPED_INSTALL_PREFIX@ -exec_prefix=${prefix} -includedir=${prefix}/include -libdir=${prefix}/lib - -Name: GEOS -Description: Geometry Engine, Open Source - C API -Requires: -Version: @GEOS_VERSION@ -Cflags: -I${includedir} -Libs: -L${libdir} -lgeos_c