diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index 4b5645010d..23dbc8e3d0 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -53,45 +53,76 @@ install(TARGETS ${PDAL_UTILITIES} if(UNIX) - if(WITH_PKGCONFIG) - + get_directory_property(PDAL_DEFINITIONS DIRECTORY ${PDAL_SOURCE_DIR}/../src COMPILE_DEFINITIONS) + + set(PDAL_CONFIG_DEFINITIONS "") + foreach(definition ${PDAL_DEFINITIONS}) + set(PDAL_CONFIG_DEFINITIONS "${PDAL_CONFIG_DEFINITIONS} -D${definition}") + endforeach() + + set(PKGCFG_PREFIX "${CMAKE_INSTALL_PREFIX}") - set(PKGCFG_INC_DIR "${PDAL_INCLUDE_SUBDIR}") - set(PKGCFG_LIB_DIR "${PDAL_LIB_SUBDIR}") + set(PKGCFG_EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}/${PDAL_BIN_DIR}") + set(PKGCFG_INC_DIR "${CMAKE_INSTALL_PREFIX}/${PDAL_INCLUDE_DIR}") + set(PKGCFG_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${PDAL_LIB_DIR}") set(PKGCFG_REQUIRES "") - set(PKGCFG_VERSION ${VERSION}) - set(PKGCFG_LINK_FLAGS "-lpdal") + set(PKGCFG_VERSION ${PDAL_VERSION_STRING}) + set(PKGCFG_LINK_FLAGS "-lpdalcpp") set(PKGCFG_COMPILE_FLAGS "") if(LIBXML2_FOUND) - set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libxml-2.0") + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libxml2-dev") endif() if(GEOTIFF_FOUND) - set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} geotiff") + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libgeotiff-dev") endif() - - else() + if (GDAL_FOUND) + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libgdal-dev") + endif() + if (LASZIP_FOUND) + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} laszip") + endif() + if (P2G_FOUND) + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} points2grid") + endif() + if (NITRO_FOUND) + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} nitro-cpp") + endif() + if (POSTGRESQL_FOUND) + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libpq-dev") + endif() + if (MSGPACK_FOUND) + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libmsgpack-dev") + endif() + if (SOCI_FOUND) + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libmsgpack-dev") + endif() + + if (NOT PDAL_EMBED_BOOST) + set(PKGCFG_REQUIRES "${PKGCFG_REQUIRES} libboost-dev") + endif() + + + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pdal.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc + DESTINATION ${PDAL_PKGCFG_DIR} + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) + # Autoconf compatibility variables to use the same script source. set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin) set(libdir ${CMAKE_INSTALL_PREFIX}/lib) - get_directory_property(PDAL_DEFINITIONS DIRECTORY ${PDAL_SOURCE_DIR}/ COMPILE_DEFINITIONS) - - set(PDAL_CONFIG_DEFINITIONS "") - foreach(definition ${PDAL_DEFINITIONS}) - set(PDAL_CONFIG_DEFINITIONS "${PDAL_CONFIG_DEFINITIONS} -D${definition}") - endforeach() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.in ${CMAKE_CURRENT_BINARY_DIR}/pdal-config @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal-config - DESTINATION bin/ + DESTINATION "${CMAKE_INSTALL_PREFIX}/${PDAL_BIN_DIR}" PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - endif() - endif() diff --git a/apps/pdal-config.in b/apps/pdal-config.in index 97f57f3808..60107c8ca8 100644 --- a/apps/pdal-config.in +++ b/apps/pdal-config.in @@ -37,7 +37,7 @@ case $1 in ;; --defines) - echo @LIBLPC_CONFIG_DEFINITIONS@ + echo @PDAL_CONFIG_DEFINITIONS@ ;; --includes) diff --git a/apps/pdal.pc.in b/apps/pdal.pc.in new file mode 100644 index 0000000000..28ae2d69dd --- /dev/null +++ b/apps/pdal.pc.in @@ -0,0 +1,12 @@ +prefix=@PKGCFG_PREFIX@ +exec_prefix=@PKGCFG_EXEC_PREFIX@ +libdir=@PKGCFG_LIB_DIR@ +includedir=@PKGCFG_INC_DIR@ + +Name: PDAL +Description: Point Data Abstraction Library +Requires: @PKGCFG_REQUIRES@ +Version: @PKGCFG_VERSION@ +Libs: -L${libdir} @PKGCFG_LINK_FLAGS@ +Cflags: -I${includedir}/pdal @PDAL_CONFIG_DEFINITIONS@ +