The following commit has been merged in the jessie branch: commit e40ea6a90908f8d66f757adbd0692c3a4dfd0e57 Author: Bas Couwenberg <sebas...@xs4all.nl> Date: Sun Sep 22 22:38:44 2013 +0200
Improve patch to export cmake package for external projects. diff --git a/debian/changelog b/debian/changelog index e357c45..c020044 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +mapserver (6.4.0-3) UNRELEASED; urgency=low + + * Improve patch to export mapserver.cmake for external projects. + + -- Bas Couwenberg <sebas...@xs4all.nl> Sun, 22 Sep 2013 22:27:32 +0200 + mapserver (6.4.0-2) unstable; urgency=low * Also include mapserver-config.h and mapserver-version.h in dev package. diff --git a/debian/patches/cmake-mapserver-export.patch b/debian/patches/cmake-mapserver-export.patch index af32a55..2d3bf6c 100644 --- a/debian/patches/cmake-mapserver-export.patch +++ b/debian/patches/cmake-mapserver-export.patch @@ -1,17 +1,368 @@ -Description: Export mapserver.cmake for outside projects. +Description: Install headers and export cmake package for outside projects. Author: Bas Couwenberg <sebas...@xs4all.nl> Last-Update: 2013-10-21 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -885,8 +885,9 @@ if(USE_SDE92) - INSTALL(TARGETS msplugin_sde92 DESTINATION lib) +@@ -31,6 +31,24 @@ if (APPLE) + set(CMAKE_FIND_FRAMEWORK "LAST") + endif (APPLE) + ++# Offer the user the choice of overriding the installation directories ++set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") ++set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") ++set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") ++if(WIN32 AND NOT CYGWIN) ++ set(DEF_INSTALL_CMAKE_DIR CMake) ++else() ++ set(DEF_INSTALL_CMAKE_DIR share/mapserver/cmake) ++endif() ++set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") ++ ++# Make relative paths absolute (needed later on) ++foreach(p LIB BIN INCLUDE CMAKE) ++ set(var INSTALL_${p}_DIR) ++ if(NOT IS_ABSOLUTE "${${var}}") ++ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") ++ endif() ++endforeach() + + macro (ms_link_libraries) + target_link_libraries(mapserver ${ARGV}) +@@ -198,11 +216,20 @@ mapgeomtransform.c mapogroutput.c mapsde + mapgeomutil.cpp mapkmlrenderer.cpp + mapogr.cpp mapcontour.c mapsmoothing.c ${REGEX_SOURCES}) + ++set(mapserver_HEADERS ++cgiutil.h dxfcolor.h hittest.h mapaxisorder.h mapcopy.h mapentities.h ++maperror.h mapfile.h mapgml.h maphash.h maphttp.h mapio.h mapkmlrenderer.h ++maplibxml2.h mapogcfilter.h mapogcsld.h mapoglcontext.h mapoglrenderer.h ++mapowscommon.h mapows.h mapparser.h mappostgis.h mapprimitive.h mapproject.h ++mapraster.h mapregex.h mapresample.h mapserver-api.h mapserver.h mapserv.h ++mapshape.h mapsymbol.h maptemplate.h mapthread.h maptile.h maptime.h maptree.h ++mapwcs.h) ++ + add_library(mapserver SHARED ${mapserver_SOURCES} ${agg_SOURCES}) + set_target_properties( mapserver PROPERTIES + VERSION ${MapServer_VERSION_STRING} + SOVERSION 1 +-) ++) + if(BUILD_STATIC) + add_library(mapserver_static STATIC ${mapserver_SOURCES} ${agg_SOURCES}) + set_target_properties( mapserver_static PROPERTIES +@@ -244,6 +271,7 @@ find_package(PNG) + if(PNG_FOUND) + include_directories(${PNG_INCLUDE_DIR}) + ms_link_libraries( ${PNG_LIBRARIES}) ++ list(APPEND ALL_INCLUDE_DIRS ${PNG_INCLUDE_DIR}) + set(USE_PNG 1) + else(PNG_FOUND) + report_mandatory_not_found(PNG) +@@ -253,6 +281,7 @@ find_package(JPEG) + if(JPEG_FOUND) + include_directories(${JPEG_INCLUDE_DIR}) + ms_link_libraries( ${JPEG_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${JPEG_INCLUDE_DIR}) + set(USE_JPEG 1) + else(JPEG_FOUND) + report_mandatory_not_found(JPEG) +@@ -264,6 +293,7 @@ if(NOT FREETYPE_FOUND) + endif(NOT FREETYPE_FOUND) + include_directories(${FREETYPE_INCLUDE_DIR}) + ms_link_libraries( ${FREETYPE_LIBRARY}) ++list(APPEND ALL_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR}) + + + if(WITH_PROJ) +@@ -273,6 +303,7 @@ if(WITH_PROJ) + else(NOT PROJ_FOUND) + include_directories(${PROJ_INCLUDE_DIR}) + ms_link_libraries( ${PROJ_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${PROJ_INCLUDE_DIR}) + set (USE_PROJ 1) + endif(NOT PROJ_FOUND) + endif (WITH_PROJ) +@@ -293,6 +324,7 @@ if(WITH_GD) + else(NOT GD_FOUND) + include_directories(${GD_INCLUDE_DIR}) + ms_link_libraries( ${GD_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${GD_INCLUDE_DIR}) + set (USE_GD 1) + if(GD_SUPPORTS_PNG) + set(USE_GD_PNG 1) +@@ -316,6 +348,7 @@ if(WITH_FRIBIDI) + else(NOT FRIBIDI_FOUND) + include_directories(${FRIBIDI_INCLUDE_DIR}) + ms_link_libraries( ${FRIBIDI_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${FRIBIDI_INCLUDE_DIR}) + set (USE_FRIBIDI 1) + if(FRIBIDI_LEGACY) + message(WARNING "Old Fribidi found, upgrade recommended") +@@ -328,6 +361,7 @@ if(WITH_ICONV) + if(ICONV_FOUND) + include_directories(${ICONV_INCLUDE_DIR}) + ms_link_libraries( ${ICONV_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${ICONV_INCLUDE_DIR}) + set (USE_ICONV 1) + else(ICONV_FOUND) + report_optional_not_found(ICONV) +@@ -344,6 +378,7 @@ if(WITH_CAIRO) + if(CAIRO_FOUND) + include_directories(${CAIRO_INCLUDE_DIRS}) + ms_link_libraries( ${CAIRO_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${CAIRO_INCLUDE_DIR}) + set (USE_CAIRO 1) + else(CAIRO_FOUND) + report_optional_not_found(CAIRO) +@@ -355,6 +390,7 @@ if(WITH_MYSQL) + if(MYSQL_FOUND) + include_directories(${MYSQL_INCLUDE_DIR}) + ms_link_libraries( ${MYSQL_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${MYSQL_INCLUDE_DIR}) + set (USE_MYSQL 1) + else(MYSQL_FOUND) + report_optional_not_found(MYSQL) +@@ -372,6 +408,7 @@ if(WITH_ORACLESPATIAL OR WITH_ORACLE_PLU + find_package(Oracle) + if(ORACLE_FOUND) + include_directories(${ORACLE_INCLUDE_DIR}) ++ list(APPEND ALL_INCLUDE_DIRS ${ORACLE_INCLUDE_DIR}) + else(ORACLE_FOUND) + report_optional_not_found(ORACLESPATIAL) + #FIXME: error message here could be misleading, only states ORACLESPATIAL whereas +@@ -398,6 +435,7 @@ if(WITH_MSSQL2008) + add_library(msplugin_mssql2008 MODULE mapmssql2008.c) + target_link_libraries(msplugin_mssql2008 ${ODBC_LIBRARY} ${MAPSERVER_LIBMAPSERVER}) + set_target_properties(msplugin_mssql2008 PROPERTIES COMPILE_FLAGS "-DUSE_MSSQL2008_PLUGIN -DUSE_MSSQL2008") ++ list(APPEND ALL_INCLUDE_DIRS ${ODBC_INCLUDE_DIR}) + set (USE_MSSQL2008 1) + else(ODBC_FOUND) + report_optional_not_found(ODBC) +@@ -419,6 +457,7 @@ if(WITH_SDE_PLUGIN) + target_link_libraries(msplugin_sde92 ${SDE_LIBRARY_DIR}/pe.lib ${SDE_LIBRARY_DIR}/sg.lib ${SDE_LIBRARY_DIR}/sde.lib ${MAPSERVER_LIBMAPSERVER}) + set_target_properties(msplugin_sde92 PROPERTIES COMPILE_FLAGS "-DUSE_SDE") + endif(SDE_VERSION STREQUAL "91") ++ list(APPEND ALL_INCLUDE_DIRS ${SDE_INCLUDE_DIR}) + set(USE_SDE_PLUGIN 1) + else(SDE_INCLUDE_DIR AND SDE_LIBRARY_DIR) + MESSAGE( SEND_ERROR "Must specify SDE_INCLUDE_DIR and SDE_LIBRARY_DIR for WITH_SDE_PLUGIN") +@@ -430,6 +469,7 @@ if(WITH_SDE) + if(SDE_FOUND) + include_directories(${SDE_INCLUDE_DIRS}) + ms_link_libraries(${SDE_LIBRARIES}) ++ list(APPEND ALL_INCLUDE_DIRS ${SDE_INCLUDE_DIRS}) + set (USE_SDE 1) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(SDE64 1) +@@ -445,6 +485,7 @@ if(WITH_FCGI) + if(FCGI_FOUND) + include_directories(${FCGI_INCLUDE_DIR}) + target_link_libraries(mapserv ${FCGI_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${FCGI_INCLUDE_DIR}) + set (USE_FASTCGI 1) + else(FCGI_FOUND) + report_optional_not_found(FCGI) +@@ -456,6 +497,7 @@ if(WITH_GEOS) + if(GEOS_FOUND) + include_directories(${GEOS_INCLUDE_DIR}) + ms_link_libraries( ${GEOS_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${GEOS_INCLUDE_DIR}) + set (USE_GEOS 1) + else(GEOS_FOUND) + report_optional_not_found(GEOS) +@@ -475,6 +517,7 @@ if(WITH_POSTGIS) + include_directories(${POSTGRESQL_INCLUDE_DIR}) + ms_link_libraries( ${POSTGRESQL_LIBRARY}) + CHECK_LIBRARY_EXISTS(pq "PQserverVersion" POSTGRESQL_LIBRARY POSTGIS_HAS_SERVER_VERSION) ++ list(APPEND ALL_INCLUDE_DIRS ${POSTGRESQL_INCLUDE_DIR}) + set (USE_POSTGIS 1) + else(POSTGRESQL_FOUND) + report_optional_not_found(POSTGIS) +@@ -486,6 +529,7 @@ if(WITH_GDAL) + if(GDAL_FOUND) + include_directories(${GDAL_INCLUDE_DIR}) + ms_link_libraries( ${GDAL_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR}) + set (USE_GDAL 1) + else(GDAL_FOUND) + report_optional_not_found(GDAL) +@@ -500,6 +544,7 @@ if(WITH_SVGCAIRO) + if(SVGCAIRO_FOUND) + include_directories(${SVGCAIRO_INCLUDE_DIR}) + ms_link_libraries( ${SVG_LIBRARY} ${SVGCAIRO_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${SVGCAIRO_INCLUDE_DIR}) + set (USE_SVG_CAIRO 1) + else(SVGCAIRO_FOUND) + report_optional_not_found(SVGCAIRO) +@@ -514,8 +559,10 @@ if(WITH_RSVG) + if(RSVG_FOUND AND GOBJECT_FOUND) + include_directories(${RSVG_INCLUDE_DIRS}) + ms_link_libraries( ${RSVG_LIBRARY} ) ++ list(APPEND ALL_INCLUDE_DIRS ${RSVG_INCLUDE_DIRS}) + include_directories(${GOBJECT_INCLUDE_DIRS}) + ms_link_libraries( ${GOBJECT_LIBRARY} ) ++ list(APPEND ALL_INCLUDE_DIRS ${GOBJECT_INCLUDE_DIRS}) + set (USE_RSVG 1) + else(RSVG_FOUND AND GOBJECT_FOUND) + report_optional_not_found(RSVG) +@@ -530,6 +577,7 @@ if(WITH_OGR) + if(GDAL_FOUND) + include_directories(${GDAL_INCLUDE_DIR}) + ms_link_libraries( ${GDAL_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${GDAL_INCLUDE_DIR}) + set (USE_OGR 1) + else(GDAL_FOUND) + message(SEND_ERROR "GDAL library could not be found and is needed for OGR support. +@@ -549,6 +597,7 @@ if(WITH_CURL) + if(CURL_FOUND) + include_directories(${CURL_INCLUDE_DIR}) + ms_link_libraries( ${CURL_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) + set(USE_CURL 1) + else(CURL_FOUND) + report_optional_not_found(CURL) +@@ -687,6 +736,7 @@ if(WITH_XMLMAPFILE) + endif() + include_directories(${LIBXSLT_INCLUDE_DIR}) + ms_link_libraries( ${LIBXSLT_LIBRARY} ${LIBXSLT_EXSLT_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${LIBXSLT_INCLUDE_DIR}) + set(USE_XMLMAPFILE 1) + else(LIBXSLT_FOUND) + message(SEND_ERROR "Xml Mapfile support requires XSLT support which was not found. +@@ -702,6 +752,7 @@ if(WITH_GIF) + if(GIF_FOUND) + include_directories(${GIF_INCLUDE_DIR}) + ms_link_libraries( ${GIF_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${GIF_INCLUDE_DIR}) + set(USE_GIF 1) + else(GIF_FOUND) + report_optional_not_found(GIF) +@@ -713,6 +764,7 @@ if(WITH_EXEMPI) + if(LIBEXEMPI_FOUND) + include_directories(${LIBEXEMPI_INCLUDE_DIR}) + ms_link_libraries( ${LIBEXEMPI_LIBRARY}) ++ list(APPEND ALL_INCLUDE_DIRS ${LIBEXEMPI_INCLUDE_DIR}) + set(USE_EXEMPI 1) + else(LIBEXEMPI_FOUND) + report_optional_not_found(EXEMPI) +@@ -773,7 +825,9 @@ configure_file ( + "${PROJECT_BINARY_DIR}/mapserver-version.h" + ) + +- ++set_target_properties(mapserver PROPERTIES ++ PUBLIC_HEADER "${mapserver_HEADERS};${PROJECT_BINARY_DIR}/mapserver-config.h;${PROJECT_BINARY_DIR}/mapserver-version.h" ++) + + macro(status_optional_component component enabled libpath) + if("${enabled}" EQUAL "1") +@@ -870,23 +924,68 @@ endif(WIN32) + + #INSTALL(FILES mapserver-api.h ${PROJECT_BINARY_DIR}/mapserver-version.h DESTINATION include) + if(USE_ORACLE_PLUGIN) +- INSTALL(TARGETS msplugin_oracle DESTINATION lib) ++ INSTALL(TARGETS msplugin_oracle DESTINATION ${INSTALL_LIB_DIR}) + endif(USE_ORACLE_PLUGIN) + + if(USE_MSSQL2008) +- INSTALL(TARGETS msplugin_mssql2008 DESTINATION lib) ++ INSTALL(TARGETS msplugin_mssql2008 DESTINATION ${INSTALL_LIB_DIR}) + endif(USE_MSSQL2008) + + if(USE_SDE91) +- INSTALL(TARGETS msplugin_sde91 DESTINATION lib) ++ INSTALL(TARGETS msplugin_sde91 DESTINATION ${INSTALL_LIB_DIR}) + endif(USE_SDE91) + + if(USE_SDE92) +- INSTALL(TARGETS msplugin_sde92 DESTINATION lib) ++ INSTALL(TARGETS msplugin_sde92 DESTINATION ${INSTALL_LIB_DIR}) endif(USE_SDE92) -INSTALL(TARGETS sortshp shptree shptreevis msencrypt legend scalebar tile4ms shptreetst shp2img mapserv mapserver RUNTIME DESTINATION bin LIBRARY DESTINATION lib) -+INSTALL(TARGETS sortshp shptree shptreevis msencrypt legend scalebar tile4ms shptreetst shp2img mapserv RUNTIME DESTINATION bin) -+INSTALL(TARGETS mapserver EXPORT mapserver LIBRARY DESTINATION lib) ++INSTALL(TARGETS sortshp shptree shptreevis msencrypt legend scalebar tile4ms shptreetst shp2img mapserv ++ RUNTIME DESTINATION ${INSTALL_BIN_DIR} COMPONENT bin ++) ++INSTALL(TARGETS mapserver ++ EXPORT mapserverTargets ++ LIBRARY DESTINATION ${INSTALL_LIB_DIR} COMPONENT shlib ++ PUBLIC_HEADER DESTINATION ${INSTALL_INCLUDE_DIR}/mapserver COMPONENT dev ++) if(BUILD_STATIC) - INSTALL(TARGETS mapserver_static DESTINATION lib) +- INSTALL(TARGETS mapserver_static DESTINATION lib) ++ INSTALL(TARGETS mapserver_static DESTINATION ${INSTALL_LIB_DIR}) endif(BUILD_STATIC) -- -+INSTALL(EXPORT mapserver DESTINATION share/mapserver/cmake) + ++# Add all targets to the build-tree export set ++export(TARGETS mapserver ++ FILE "${PROJECT_BINARY_DIR}/mapserverTargets.cmake" ++) ++ ++# Export the package for use from the build-tree ++# (this registers the build-tree with a global CMake-registry) ++export(PACKAGE mapserver) ++ ++list(APPEND ALL_INCLUDE_DIRS ${INSTALL_INCLUDE_DIR}) ++list(APPEND ALL_INCLUDE_DIRS ${INSTALL_INCLUDE_DIR}/mapserver) ++ ++list(REMOVE_DUPLICATES ALL_INCLUDE_DIRS) ++ ++# Create the mapserver-config.cmake and mapserver-config-version files ++file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${ALL_INCLUDE_DIRS}") ++ ++# ... for the build tree ++set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}") ++configure_file(mapserver-config.cmake.in "${PROJECT_BINARY_DIR}/mapserver-config.cmake" @ONLY) ++ ++# ... for the install tree ++set(CONF_INCLUDE_DIRS "\${MAPSERVER_CMAKE_DIR}/${REL_INCLUDE_DIR}") ++configure_file(mapserver-config.cmake.in "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/mapserver-config.cmake" @ONLY) ++ ++# ... for both ++configure_file(mapserver-config-version.cmake.in "${PROJECT_BINARY_DIR}/mapserver-config-version.cmake" @ONLY) ++ ++# Install the mapserver-config.cmake and mapserver-config-version.cmake ++install(FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/mapserver-config.cmake" ++ "${PROJECT_BINARY_DIR}/mapserver-config-version.cmake" ++ DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev ++) ++ ++# Install the export set for use with the install-tree ++install(EXPORT mapserverTargets ++ DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev ++) +--- /dev/null ++++ b/mapserver-config.cmake.in +@@ -0,0 +1,18 @@ ++# - Config file for the mapserver package ++# It defines the following variables ++# MAPSERVER_INCLUDE_DIRS - include directories for mapserver ++# MAPSERVER_LIBRARIES - libraries to link against ++# MAPSERVER_EXECUTABLES - executables build for mapserver ++ ++# Compute paths ++get_filename_component(MAPSERVER_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) ++set(MAPSERVER_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") ++ ++# Our library dependencies (contains definitions for IMPORTED targets) ++if(NOT TARGET mapserver AND NOT MapServer_BINARY_DIR) ++ include("${MAPSERVER_CMAKE_DIR}/mapserverTargets.cmake") ++endif() ++ ++# These are IMPORTED targets created by mapserverTargets.cmake ++set(MAPSERVER_LIBRARIES mapserver) ++set(MAPSERVER_EXECUTABLES sortshp shptree shptreevis msencrypt legend scalebar tile4ms shptreetst shp2img mapserv) +--- /dev/null ++++ b/mapserver-config-version.cmake.in +@@ -0,0 +1,11 @@ ++set(PACKAGE_VERSION "@MapServer_VERSION_STRING@") ++ ++# Check whether the requested PACKAGE_FIND_VERSION is compatible ++if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") ++ set(PACKAGE_VERSION_COMPATIBLE FALSE) ++else() ++ set(PACKAGE_VERSION_COMPATIBLE TRUE) ++ if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") ++ set(PACKAGE_VERSION_EXACT TRUE) ++ endif() ++endif() diff --git a/debian/rules b/debian/rules index f57ab41..72bf43a 100755 --- a/debian/rules +++ b/debian/rules @@ -119,11 +119,6 @@ override_dh_auto_install: -mkdir -p debian/tmp/etc/php5/mods-available/ install -m644 debian/mapscript.ini debian/tmp/etc/php5/mods-available/ - # libmapserver-dev headers - -mkdir -p debian/tmp/usr/include/mapserver/ - install -m644 *.h debian/tmp/usr/include/mapserver/ - install -m644 build/*.h debian/tmp/usr/include/mapserver/ - override_dh_installchangelogs: dh_installchangelogs HISTORY.TXT -- Packaging for MapServer _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel