Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[FEATURE]: Add QGIS mapserver sources to svn repository
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@14110 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
mhugent committed Aug 21, 2010
1 parent 151d665 commit 470f5f1
Show file tree
Hide file tree
Showing 67 changed files with 11,668 additions and 13 deletions.
10 changes: 9 additions & 1 deletion CMakeLists.txt
Expand Up @@ -49,6 +49,9 @@ IF (WITH_GRASS)
SET (GRASS_PREFIX ${GRASS_PREFIX} CACHE PATH "Path to GRASS base directory")
ENDIF (WITH_GRASS)

# try to configure and build mapserver by default
SET (WITH_MAPSERVER TRUE CACHE BOOL "Determines whether QGIS mapserver should be built")

# try to configure and build POSTGRESQL support
SET (WITH_POSTGRESQL TRUE CACHE BOOL "Determines whether POSTGRESQL support should be built")
IF (WITH_POSTGRESQL)
Expand Down Expand Up @@ -239,6 +242,7 @@ IF (WIN32)

IF (MSVC)
SET (DEFAULT_BIN_SUBDIR bin)
SET (DEFAULT_CGIBIN_SUBDIR bin)
# put all the build products into a single directory
# under build (doesnt affect install target) to make for
# easier debugging.
Expand All @@ -262,6 +266,7 @@ IF (WIN32)
ENDIF (INSTALL_DEPS)
ELSE(MSVC)
SET (DEFAULT_BIN_SUBDIR .)
SET (DEFAULT_CGIBIN_SUBDIR .)
ENDIF(MSVC)
ELSE (WIN32)

Expand All @@ -276,6 +281,7 @@ ELSE (WIN32)

# common for MAC and UNIX
SET (DEFAULT_BIN_SUBDIR bin)
SET (DEFAULT_CGIBIN_SUBDIR bin)
SET (DEFAULT_LIB_SUBDIR lib${LIB_SUFFIX})
SET (DEFAULT_DATA_SUBDIR share/qgis)
SET (DEFAULT_LIBEXEC_SUBDIR lib${LIB_SUFFIX}/qgis)
Expand All @@ -285,7 +291,7 @@ ELSE (WIN32)
ENDIF (WIN32)


#assume we have excaped compiler directives
#assume we have escaped compiler directives
#eventually we want to change this to new
#since we don't need to jump through so many
#hoops to escape compiler directives then
Expand Down Expand Up @@ -323,6 +329,7 @@ ENDIF (WIN32)
# (default values are platform-specific)

SET (QGIS_BIN_SUBDIR ${DEFAULT_BIN_SUBDIR} CACHE STRING "Subdirectory where executables will be installed")
SET (QGIS_CGIBIN_SUBDIR ${DEFAULT_CGIBIN_SUBDIR} CACHE STRING "Subdirectory where CGI executables will be installed")
SET (QGIS_LIB_SUBDIR ${DEFAULT_LIB_SUBDIR} CACHE STRING "Subdirectory where libraries will be installed")
SET (QGIS_LIBEXEC_SUBDIR ${DEFAULT_LIBEXEC_SUBDIR} CACHE STRING "Subdirectory where private executables will be installed")
SET (QGIS_DATA_SUBDIR ${DEFAULT_DATA_SUBDIR} CACHE STRING "Subdirectory where QGIS data will be installed")
Expand All @@ -335,6 +342,7 @@ MARK_AS_ADVANCED (QGIS_BIN_SUBDIR QGIS_LIB_SUBDIR QGIS_LIBEXEC_SUBDIR QGIS_DATA_

# full paths for the installation
SET (QGIS_BIN_DIR ${QGIS_BIN_SUBDIR})
SET (QGIS_CGIBIN_DIR ${QGIS_CGIBIN_SUBDIR})
SET (QGIS_LIB_DIR ${QGIS_LIB_SUBDIR})
SET (QGIS_LIBEXEC_DIR ${QGIS_LIBEXEC_SUBDIR})
SET (QGIS_DATA_DIR ${QGIS_DATA_SUBDIR})
Expand Down
22 changes: 21 additions & 1 deletion debian/control.sid
Expand Up @@ -16,7 +16,7 @@ Homepage: http://qgis.org/

Package: qgis
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, qgis-common (= ${source:Version})
Depends: ${shlibs:Depends}, ${misc:Depends}, qgis-providers (= ${binary:Version}), qgis-common (= ${source:Version})
Recommends: qgis-plugin-grass, python-qgis
Suggests: gpsbabel
Conflicts: uim-qt3
Expand Down Expand Up @@ -114,3 +114,23 @@ Description: Python bindings to Quantum GIS - architecture-independent files
This package contains architecture-independent files for the Quantum GIS
Python bindings.

Package: qgis-providers
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Replaces: qgis (<= 1.6)
Breaks: qgis (<= 1.6)
Description: collection of data providers to Quantum GIS
Quantum GIS is a Geographic Information System (GIS) which manages, analyzes
and display databases of geographic information.
.
This package contains the provider plugins for Quantum GIS.

Package: qgis-mapserver
Architecture: any
Depends: qgis-providers (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: Quantum GIS mapserver
Quantum GIS is a Geographic Information System (GIS) which manages, analyzes
and display databases of geographic information.
.
This package contains the Quantum GIS mapserver.

9 changes: 0 additions & 9 deletions debian/qgis.install
@@ -1,29 +1,20 @@
usr/bin/qgis_help
usr/lib/qgis/plugins/libcopyrightlabelplugin.so
usr/lib/qgis/plugins/libdelimitedtextplugin.so
usr/lib/qgis/plugins/libdelimitedtextprovider.so
usr/lib/qgis/plugins/libgeorefplugin.so
usr/lib/qgis/plugins/libgpsimporterplugin.so
usr/lib/qgis/plugins/libgpxprovider.so
usr/lib/qgis/plugins/libnortharrowplugin.so
usr/lib/qgis/plugins/libogrprovider.so
usr/lib/qgis/plugins/libpostgresprovider.so
usr/lib/qgis/plugins/libquickprintplugin.so
usr/lib/qgis/plugins/libscalebarplugin.so
usr/lib/qgis/plugins/libspitplugin.so
usr/lib/qgis/plugins/libwfsplugin.so
usr/lib/qgis/plugins/libwfsprovider.so
usr/lib/qgis/plugins/libwmsprovider.so
usr/lib/qgis/plugins/libmemoryprovider.so
usr/lib/qgis/plugins/libdxf2shpconverterplugin.so
usr/lib/qgis/plugins/libinterpolationplugin.so
usr/lib/qgis/plugins/libogrconverterplugin.so
usr/lib/qgis/plugins/libcoordinatecaptureplugin.so
usr/lib/qgis/plugins/libspatialiteprovider.so
usr/lib/qgis/plugins/liboracleplugin.so
usr/lib/qgis/plugins/libdiagramoverlay.so
usr/lib/qgis/plugins/libevis.so
usr/lib/qgis/plugins/libosmprovider.so
usr/lib/qgis/plugins/librasterterrainplugin.so
usr/lib/qgis/plugins/libspatialqueryplugin.so
usr/lib/qgis/plugins/libdisplacementplugin.so
Expand Down
3 changes: 2 additions & 1 deletion debian/rules
Expand Up @@ -28,7 +28,8 @@ CMAKE_OPTS := \
-D CMAKE_SKIP_RPATH=TRUE \
-D BINDINGS_GLOBAL_INSTALL=TRUE \
-D PEDANTIC=TRUE \
-D WITH_SPATIALITE=TRUE
-D WITH_SPATIALITE=TRUE \
-D QGIS_CGIBIN_SUBDIR=/usr/lib/cgi-bin

ifeq (,$(findstring $(DISTRIBUTION),"squeeze lucid maverick sid"))
CMAKE_OPTS += -D WITH_INTERNAL_SPATIALITE=TRUE
Expand Down
6 changes: 5 additions & 1 deletion src/CMakeLists.txt
@@ -1,10 +1,14 @@

SUBDIRS(core analysis ui gui app providers plugins helpviewer)

IF (WITH_BINDINGS)
SUBDIRS(python)
ENDIF (WITH_BINDINGS)

IF (WITH_MAPSERVER)
SUBDIRS(mapserver)
ENDIF (WITH_MAPSERVER)

IF (APPLE)
SUBDIRS(mac)
ENDIF(APPLE)

121 changes: 121 additions & 0 deletions src/mapserver/CMakeLists.txt
@@ -0,0 +1,121 @@
#
# Find deps
#
FIND_PACKAGE(Fcgi REQUIRED)
IF (NOT FCGI_FOUND)
MESSAGE (SEND_ERROR "Fast CGI dependency was not found!")
ENDIF (NOT FCGI_FOUND)

# We need to define the qgis base dir so we can pass it
# into the main entry point for the app so that at
# runtime it can find plugins and srs.db etc
ADD_DEFINITIONS(-DQGIS_LIB_DIR="\\"${QGIS_LIB_DIR}\\"")

#MH: for this we need to locate the headers of the diagram and interpolation plugin
#ADD_DEFINITIONS(-DDIAGRAMSERVER=1)

IF (CMAKE_BUILD_TYPE MATCHES Debug)
ADD_DEFINITIONS(-DQGSMSDEBUG=1)
ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)
########################################################
# Files

SET ( qgis_mapserv_SRCS
qgis_map_serv.cpp
qgsconfigcache.cpp
qgsconfigparser.cpp
qgsepsgcache.cpp
qgsprojectparser.cpp
qgshttprequesthandler.cpp
qgsgetrequesthandler.cpp
qgssoaprequesthandler.cpp
qgssldparser.cpp
qgssldrenderer.cpp
qgswmsserver.cpp
qgsmapserviceexception.cpp
qgsmapserverlogger.cpp
qgsmslayercache.cpp
qgsfilter.cpp
qgssldrule.cpp
qgsbetweenfilter.cpp
qgscomparisonfilter.cpp
qgslogicalfilter.cpp
qgsftptransaction.cpp
qgsmslayerbuilder.cpp
qgshostedvdsbuilder.cpp
qgsinterpolationlayerbuilder.cpp
qgsremoteowsbuilder.cpp
qgshostedrdsbuilder.cpp
qgsremotedatasourcebuilder.cpp
qgssentdatasourcebuilder.cpp
qgsmsutils.cpp
)

# SET (qgis_mapserv_UIS
# none used
# )

SET (qgis_mapserv_MOC_HDRS
qgsftptransaction.h
)

SET (qgis_mapserv_RCCS
# not used
#qgis_mapserv.qrc
)

QT4_WRAP_UI (qgis_mapserv_UIS_H ${qgis_mapserv_UIS})

QT4_WRAP_CPP (qgis_mapserv_MOC_SRCS ${qgis_mapserv_MOC_HDRS})

QT4_ADD_RESOURCES(qgis_mapserv_RCC_SRCS ${qgis_mapserv_RCCS})

ADD_EXECUTABLE(qgis_mapserv.fcgi
${qgis_mapserv_SRCS}
${qgis_mapserv_MOC_SRCS}
${qgis_mapserv_RCC_SRCS}
${qgis_mapserv_UIS_H}
)

INCLUDE_DIRECTORIES(
${GDAL_INCLUDE_DIR}
${FCGI_INCLUDE_DIR}
${GEOS_INCLUDE_DIR}
${PROJ_INCLUDE_DIR}
${POSTGRES_INCLUDE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${QT_INCLUDE_DIR}
${QGIS_INCLUDE_DIR}
../core
../core/raster
../core/renderer
../core/symbology
../core/symbology-ng
../core/composer
../analysis/interpolation
.
)

TARGET_LINK_LIBRARIES(qgis_mapserv.fcgi
qgis_core
qgis_analysis
${PROJ_LIBRARY}
${FCGI_LIBRARY}
${POSTGRES_LIBRARY}
${GDAL_LIBRARY}
)

########################################################
# Install

INSTALL(CODE "MESSAGE(\"Installing mapserver...\")")
INSTALL(TARGETS
qgis_mapserv.fcgi
DESTINATION ${QGIS_CGIBIN_DIR}
)
INSTALL(FILES
admin.sld
wms_metadata.xml
DESTINATION ${QGIS_CGIBIN_DIR}
)

24 changes: 24 additions & 0 deletions src/mapserver/admin.sld
@@ -0,0 +1,24 @@
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld">
<UserLayer>
<Name>wfslayer</Name>
<RemoteOWS>
<Service>WFS</Service>
<OnlineResource href="http://karlinapp.ethz.ch/cgi-bin/mapserv?map=/home/marco/mapfiles/mapfile1.map&amp;" type="states" />
</RemoteOWS>
<UserStyle>
<Name>userstyle</Name>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Stroke><sld:CssParameter sld:name="stroke">#0000ff</sld:CssParameter>
<sld:CssParameter sld:name="stroke-width">3</sld:CssParameter>
</Stroke>
<Fill>
<sld:CssParameter sld:name="fill">#0000ff</sld:CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</UserLayer>
</StyledLayerDescriptor>
97 changes: 97 additions & 0 deletions src/mapserver/common.xml
@@ -0,0 +1,97 @@
<serviceCommonCapabilities xmlns="http://eu-orchestra.org/services/ms">
<OA_MI_Service_CommonCapabilities>
<serviceDescription>Orchestra Map and Diagram Service</serviceDescription>
<serviceDiscoveryBasic>
<OA_MI_Service_DiscoveryBasic>
<freeKeywords>
<OA_MI_Service_FreeKeywords>
<OA_MI_Keywords>
<keywords>Map and Diagram Service</keywords>
<keywords>MS</keywords>
<keywords>ORCHESTRA</keywords>
</OA_MI_Keywords>
</OA_MI_Service_FreeKeywords>
</freeKeywords>
<yellowPageInfo>
<OA_MI_Service_YellowPageInfo>
<business>
<OA_MI_Service_BusinessClassification>
<identifier>GeoVisualization</identifier>
</OA_MI_Service_BusinessClassification>
</business>
</OA_MI_Service_YellowPageInfo>
</yellowPageInfo>
</OA_MI_Service_DiscoveryBasic>
</serviceDiscoveryBasic>
<serviceDocumentation>https://portal.opengeospatial.org/files/?artifact_id=16644</serviceDocumentation>
<serviceInvocationBasic>
<OA_MI_Service_InvocationBasic>
<operation>
<OA_MI_Operation>
<accessPoints>
<OA_MI_AccessPoint>
<uri>http://karlinapp.ethz.ch/cgi-bin/orchestra_map_serv</uri>
</OA_MI_AccessPoint>
</accessPoints>
<description>Delivers capabilities of the map and diagram service.</description>
<name>getCapabilities</name>
<parameters>
<OA_MI_OperationParameter>
<description>request</description>
<direction>in</direction>
<name>request</name>
<optionality>false</optionality>
<repeatability>false</repeatability>
<valueType>OAGetCapabilitiesRequest</valueType>
</OA_MI_OperationParameter>
</parameters>
<parameters>
<OA_MI_OperationParameter>
<description>response</description>
<direction>out</direction>
<name>response</name>
<optionality>false</optionality>
<repeatability>false</repeatability>
<valueType>OAGetCapabilitiesResponse</valueType>
</OA_MI_OperationParameter>
</parameters>
</OA_MI_Operation>
</operation>
<operation>
<OA_MI_Operation>
<accessPoints>
<OA_MI_AccessPoint>
<uri>http://karlinapp.ethz.ch/cgi-bin/orchestra_map_serv</uri>
</OA_MI_AccessPoint>
</accessPoints>
<description>Returns a map from the server based on the user parameters</description>
<name>getMap</name>
<parameters>
<OA_MI_OperationParameter>
<description>request</description>
<direction>in</direction>
<name>request</name>
<optionality>false</optionality>
<repeatability>false</repeatability>
<valueType>OAGetMapRequest</valueType>
</OA_MI_OperationParameter>
</parameters>
<parameters>
<OA_MI_OperationParameter>
<description>response</description>
<direction>out</direction>
<name>response</name>
<optionality>false</optionality>
<repeatability>false</repeatability>
<valueType>OAGetMapResponse</valueType>
</OA_MI_OperationParameter>
</parameters>
</OA_MI_Operation>
</operation>
</OA_MI_Service_InvocationBasic>
</serviceInvocationBasic>
<serviceName>Map and Diagram Service</serviceName>
<serviceSpecVersion>1.1</serviceSpecVersion>
<serviceType>Map and Diagram Service</serviceType>
</OA_MI_Service_CommonCapabilities>
</serviceCommonCapabilities>

0 comments on commit 470f5f1

Please sign in to comment.