Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/qgis/Quantum-GIS into and…
Browse files Browse the repository at this point in the history
…roid
  • Loading branch information
mbernasocchi committed Jul 25, 2011
2 parents 8c4cf8e + 05d2cd9 commit 836bd37
Show file tree
Hide file tree
Showing 172 changed files with 47,271 additions and 6,237 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Expand Up @@ -12,7 +12,7 @@ debian/*.substvars
Makefile
*-stamp
api_doc
build
build*
ms-windows/Installer-Files/postinstall.bat
ms-windows/Installer-Files/preremove.bat
ms-windows/osgeo4w/packages/
Expand All @@ -37,3 +37,5 @@ scripts/astyle.exe
doc/CODING.html
doc/CODING.tex
doc/INSTALL.tex
scripts/Debug
scripts/RelWithDebInfo
11 changes: 8 additions & 3 deletions CMakeLists.txt
Expand Up @@ -76,9 +76,10 @@ IF (WITH_BINDINGS)
SET (BINDINGS_GLOBAL_INSTALL FALSE CACHE BOOL "Install bindings to global python directory? (might need root)")
ENDIF (WITH_BINDINGS)

SET (WITH_GLOBE TRUE CACHE BOOL "Determines whether Globe plugin should be built")
SET (WITH_GLOBE FALSE CACHE BOOL "Determines whether Globe plugin should be built")
IF (WITH_GLOBE)
FIND_PACKAGE(OSGEARTH)
SET(QT_USE_QTOPENGL 1)
FIND_PACKAGE(OSGEARTH REQUIRED)
ENDIF (WITH_GLOBE)

# Compile flag. Make it possible to turn it off.
Expand Down Expand Up @@ -285,6 +286,7 @@ ELSE (WIN32)
# 2 non-system libraries, "standard"
# 3 non-system frameworks, "standalone"
SET (QGIS_MACAPP_BUNDLE 1 CACHE STRING "What to bundle into app package")
SET (QGIS_MACAPP_BUNDLE_USER "" CACHE STRING "Path to user bundling script")
SET (QGIS_MACAPP_INSTALL_DEV FALSE CACHE BOOL "Install developer frameworks")
SET (QGIS_MACAPP_DEV_PREFIX "/Library/Frameworks" CACHE STRING "Path to install developer frameworks")
# if we have @loader_path, >=OSX 10.5 (darwin 9+)
Expand Down Expand Up @@ -437,7 +439,10 @@ IF (GIT_MARKER)
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
ELSE(MSVC)
EXECUTE_PROCESS(COMMAND ${GIT} log -n1 --pretty=%h OUTPUT_VARIABLE REVISION)
EXECUTE_PROCESS(
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND ${GIT} log -n1 --pretty=%h OUTPUT_VARIABLE REVISION
)
STRING(STRIP "${REVISION}" REVISION)
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h
Expand Down
24 changes: 21 additions & 3 deletions cmake/FindOSGEARTH.cmake
Expand Up @@ -26,6 +26,7 @@ FIND_PATH( ${THIS_OSGEARTH_INCLUDE_DIR} ${THIS_OSGEARTH_INCLUDE_FILE}
$ENV{OSGEARTH_SOURCE_DIR}
$ENV{OSGEARTHDIR}
$ENV{OSGEARTH_DIR}
$ENV{OSGEO4W_ROOT}
/usr/local/
/usr/
/sw/ # Fink
Expand Down Expand Up @@ -57,6 +58,7 @@ FIND_LIBRARY(${MYLIBRARY}
$ENV{OSGEARTH_DIR}
$ENV{OSGEARTHDIR}
$ENV{OSGEARTH_ROOT}
$ENV{OSGEO4W_ROOT}
~/Library/Frameworks
/Library/Frameworks
/usr/local
Expand All @@ -79,13 +81,13 @@ FIND_LIBRARY(${MYLIBRARY}
ENDMACRO(FIND_OSGEARTH_LIBRARY LIBRARY LIBRARYNAME)

FIND_OSGEARTH_LIBRARY( OSGEARTH_LIBRARY osgEarth )
FIND_OSGEARTH_LIBRARY( OSGEARTH_LIBRARY_DEBUG osgEarthd)
FIND_OSGEARTH_LIBRARY( OSGEARTH_LIBRARY_DEBUG osgEarthd )

FIND_OSGEARTH_LIBRARY( OSGEARTHUTIL_LIBRARY osgEarthUtil )
FIND_OSGEARTH_LIBRARY( OSGEARTHUTIL_LIBRARY_DEBUG osgEarthUtild)
FIND_OSGEARTH_LIBRARY( OSGEARTHUTIL_LIBRARY_DEBUG osgEarthUtild )

FIND_OSGEARTH_LIBRARY( OSGEARTHFEATURES_LIBRARY osgEarthFeatures )
FIND_OSGEARTH_LIBRARY( OSGEARTHFEATURES_LIBRARY_DEBUG osgEarthFeaturesd)
FIND_OSGEARTH_LIBRARY( OSGEARTHFEATURES_LIBRARY_DEBUG osgEarthFeaturesd )

FIND_OSGEARTH_LIBRARY( OSGEARTHSYMBOLOGY_LIBRARY osgEarthSymbology )
FIND_OSGEARTH_LIBRARY( OSGEARTHSYMBOLOGY_LIBRARY_DEBUG osgEarthSymbologyd )
Expand All @@ -95,6 +97,22 @@ SET( OSGEARTH_FOUND "NO" )
IF( OSGEARTH_LIBRARY AND OSGEARTH_INCLUDE_DIR )
SET( OSGEARTH_FOUND "YES" )
SET( OSGEARTH_INCLUDE_DIRS ${OSGEARTH_INCLUDE_DIR} ${OSGEARTH_GEN_INCLUDE_DIR} )
INCLUDE(CheckCXXSourceCompiles)
SET(SAFE_CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES})
SET(SAFE_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${OSGEARTH_INCLUDE_DIR})
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${OSGEARTHUTIL_LIBRARY})
CHECK_CXX_SOURCE_COMPILES("
#include <osgEarthUtil/Controls>
using namespace osgEarth::Util::Controls;
int main(int argc, char **argv)
{
Container *c;
c->setChildSpacing(0.0);
}
" HAVE_OSGEARTH_CHILD_SPACING)
SET(CMAKE_REQUIRED_INCLUDES ${SAFE_CMAKE_REQUIRED_INCLUDES})
SET(CMAKE_REQUIRED_LIBRARIES ${SAFE_CMAKE_REQUIRED_LIBRARIES})
GET_FILENAME_COMPONENT( OSGEARTH_LIBRARIES_DIR ${OSGEARTH_LIBRARY} PATH )
ENDIF( OSGEARTH_LIBRARY AND OSGEARTH_INCLUDE_DIR )

Expand Down
159 changes: 158 additions & 1 deletion cmake/MacBundleMacros.cmake
@@ -1,11 +1,32 @@
# Mac Bundle Macros
# QGIS Mac Bundle Macros

# BundleUtilities has functions to bundle and fixup libraries into an
# application package, but it's all-or-nothing and is missing some features:
#
# - @loader_path
# - helper functions can't get install_name, just dependencies

# the following cmakecache vars must be set, redefine them
# with config-file substitutions in install-run scripts:
#
# CPACK_PACKAGE_VERSION_MAJOR, CPACK_PACKAGE_VERSION_MINOR
# CMAKE_INSTALL_PREFIX, CMAKE_VERBOSE_MAKEFILE, CMAKE_BUILD_TYPE
# CMAKE_OSX_ARCHITECTURES, OSX_HAVE_LOADERPATH
# QGIS_APP_NAME
# QGIS_MACAPP_PREFIX
# QGIS_*_SUBDIR, QGIS_*_SUBDIR_REV
# WITH_*

# this file must only be included after target installation is complete

# message only if verbose makefiles

FUNCTION (MYMESSAGE MSG)
IF (@CMAKE_VERBOSE_MAKEFILE@)
MESSAGE (STATUS "${MSG}")
ENDIF (@CMAKE_VERBOSE_MAKEFILE@)
ENDFUNCTION (MYMESSAGE)

# get the install_name of a library or framework
# regex stuff taken from GetPrerequisites

Expand All @@ -25,3 +46,139 @@ ENDFUNCTION (GET_INSTALL_NAME)
FUNCTION (INSTALLNAMETOOL_CHANGE CHANGE CHANGETO CHANGEBIN)
EXECUTE_PROCESS (COMMAND install_name_tool -change ${CHANGE} ${CHANGETO} "${CHANGEBIN}")
ENDFUNCTION (INSTALLNAMETOOL_CHANGE)

# copy a framework, only specified archs, current version, debug dep on CMAKE_BUILD_TYPE

FUNCTION (COPY_FRAMEWORK FWPREFIX FWNAME FWDEST)
# reconstruct framework to avoid excessive copying, then deleting
# especially when debug variants are present
# find current version
# use python because pwd not working with WORKING_DIRECTORY param
EXECUTE_PROCESS (
COMMAND python -c "import os.path\nprint os.path.realpath(\"${FWPREFIX}/${FWNAME}.framework/Versions/Current\")"
OUTPUT_VARIABLE FWDIRPHYS
)
STRING (STRIP "${FWDIRPHYS}" FWDIRPHYS)
STRING (REGEX MATCH "[^/\n]+$" FWVER "${FWDIRPHYS}")
EXECUTE_PROCESS (COMMAND mkdir -p "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}")
EXECUTE_PROCESS (COMMAND ln -sfh ${FWVER} "${FWDEST}/${FWNAME}.framework/Versions/Current")
EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWNAME}" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}/${FWNAME}")
EXECUTE_PROCESS (COMMAND ln -sf Versions/Current/${FWNAME} "${FWDEST}/${FWNAME}.framework/${FWNAME}")
IF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources")
EXECUTE_PROCESS (COMMAND cp -Rfp "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}")
EXECUTE_PROCESS (COMMAND ln -sfh Versions/Current/Resources "${FWDEST}/${FWNAME}.framework/Resources")
ENDIF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources")
# debug variants
SET (FWD "${FWNAME}_debug")
IF ("${FWDEBUG}" STREQUAL "Debug" AND EXISTS "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWD}")
EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWD}" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}/${FWD}")
EXECUTE_PROCESS (COMMAND ln -sf Versions/Current/${FWD} "${FWDEST}/${FWNAME}.framework/${FWD}")
IF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/${FWD}.dSYM")
EXECUTE_PROCESS (COMMAND ditto -X ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/${FWD}.dSYM" "${FWDEST}/${FWNAME}.framework")
ENDIF ()
ENDIF ()
ENDFUNCTION (COPY_FRAMEWORK)

# update a library path in all QGIS binary files
# if dylib, change LIBFROM to LIBTO as is
# else assumes it's a framework, change LIBFROM to LIBTO.framework/LIBTO

FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO)
IF (LIBFROM)
STRING (REGEX MATCH "\\.dylib$" ISLIB "${LIBTO}")
IF (ISLIB)
SET (LIBPOST "${LIBTO}")
SET (LIBMID "${QGIS_LIB_SUBDIR}")
ElSE ()
SET (LIBPOST "${LIBTO}.framework/${LIBTO}")
SET (LIBMID "${QGIS_FW_SUBDIR}")
ENDIF ()
SET (LIB_CHG_TO "${ATEXECUTABLE}/${LIBMID}/${LIBPOST}")
# app - always @executable_path
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QAPPDIR}/${QGIS_APP_NAME}")
# qgis_help, qbrowser - doesn't link anything else than Qt/Qgis
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/qgis_help.app/Contents/MacOS/qgis_help")
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/qbrowser.app/Contents/MacOS/qbrowser")
# qgis-mapserver
IF (${WITH_MAPSERVER})
IF (${OSX_HAVE_LOADERPATH})
SET (LIB_CHG_TO "${ATEXECUTABLE}/${QGIS_CGIBIN_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
ENDIF ()
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QCGIDIR}/qgis_mapserv.fcgi")
ENDIF ()
# libs
IF (${OSX_HAVE_LOADERPATH})
# bundled frameworks can use short relative path
IF (ISLIB})
SET (LIB_CHG_TO "${ATLOADER}/${QGIS_FW_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
ElSE ()
SET (LIB_CHG_TO "${ATLOADER}/../../../${LIBPOST}")
ENDIF ()
ENDIF ()
FOREACH (QL ${QGFWLIST})
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QFWDIR}/${QL}.framework/${QL}")
ENDFOREACH (QL)
# libqgispython is not a framework
IF (${OSX_HAVE_LOADERPATH})
SET (LIB_CHG_TO "${ATLOADER}/${QGIS_LIB_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
ENDIF ()
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QLIBDIR}/libqgispython.dylib")
# GRASS libexec stuff
IF (EXISTS "${QLIBXDIR}/grass/bin/qgis.g.browser")
IF (${OSX_HAVE_LOADERPATH})
SET (LIB_CHG_TO "${ATLOADER}/../../${QGIS_LIBEXEC_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
ENDIF ()
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QLIBXDIR}/grass/bin/qgis.g.browser")
ENDIF ()
# plugins
IF (${OSX_HAVE_LOADERPATH})
SET (LIB_CHG_TO "${ATLOADER}/${QGIS_PLUGIN_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
ENDIF ()
FOREACH (QP ${QGPLUGLIST})
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QP}")
ENDFOREACH (QP)
# qgis python
IF (${OSX_HAVE_LOADERPATH})
SET (LIB_CHG_TO "${ATLOADER}/../../${QGIS_DATA_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
ENDIF ()
FOREACH (PG ${QGPYLIST})
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${PG}")
ENDFOREACH (PG)
# bin - nothing yet
#IF (${OSX_HAVE_LOADERPATH})
# SET (LIB_CHG_TO "${ATLOADER}/${QGIS_BIN_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
#ENDIF ()
#FOREACH (PB ...)
# INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/${PB}")
#ENDFOREACH (PB)
ENDIF (LIBFROM)
ENDFUNCTION (UPDATEQGISPATHS)

SET (ATEXECUTABLE "@executable_path")
SET (ATLOADER "@loader_path")
SET (Q_FWVER ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR})

# install destinations
SET (QAPPDIRC "$ENV{DESTDIR}${QGIS_MACAPP_PREFIX}")
SET (QAPPDIR "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}")
SET (QFWDIR "${QAPPDIR}/${QGIS_FW_SUBDIR}")
SET (QBINDIR "${QAPPDIR}/${QGIS_BIN_SUBDIR}")
SET (QCGIDIR "${QAPPDIR}/${QGIS_CGIBIN_SUBDIR}")
SET (QLIBDIR "${QAPPDIR}/${QGIS_LIB_SUBDIR}")
SET (QLIBXDIR "${QAPPDIR}/${QGIS_LIBEXEC_SUBDIR}")
SET (QDATADIR "${QAPPDIR}/${QGIS_DATA_SUBDIR}")
SET (QPLUGDIR "${QAPPDIR}/${QGIS_PLUGIN_SUBDIR}")
SET (QGISPYDIR "${QAPPDIR}/${QGIS_DATA_SUBDIR}/python")

# build arches
SET (QARCHS "")
FOREACH (QARCH ${CMAKE_OSX_ARCHITECTURES})
SET (QARCHS ${QARCHS} "--arch" "${QARCH}")
ENDFOREACH (QARCH)

# common file lists
FILE (GLOB QGFWLIST RELATIVE ${QFWDIR} ${QFWDIR}/qgis*.framework)
# for some reason, REPLACE is stripping list seps
STRING(REPLACE ".framework" ";" QGFWLIST ${QGFWLIST})
FILE (GLOB QGPLUGLIST ${QPLUGDIR}/*.so)
FILE (GLOB QGPYLIST ${QGISPYDIR}/qgis/*.so)
2 changes: 0 additions & 2 deletions debian/qgis-plugin-grass-common.install
@@ -1,8 +1,6 @@
usr/share/qgis/grass/locations.gml
usr/share/qgis/grass/world.png
usr/share/qgis/grass/config
usr/share/qgis/grass/modules/*.png
usr/share/qgis/grass/modules/*.qgm
usr/share/qgis/grass/modules/*.svg
usr/share/qgis/grass/scripts/*.py
usr/share/qgis/themes/*/grass
2 changes: 0 additions & 2 deletions debian/qgis-plugin-grass-common.install.lenny
@@ -1,7 +1,5 @@
usr/share/qgis/grass/locations.gml
usr/share/qgis/grass/world.png
usr/share/qgis/grass/config
usr/share/qgis/grass/modules/*.png
usr/share/qgis/grass/modules/*.qgm
usr/share/qgis/grass/modules/*.svg
usr/share/qgis/themes/*/grass
2 changes: 1 addition & 1 deletion doc/TRANSLATORS
Expand Up @@ -18,7 +18,7 @@ Croatian|Zoran Jankovic
Czech|Martin Landa, Peter Antolik, Martin Dzurov, Jan Helebrant
Danish|Henriette Roued
Dutch|Richard Duivenvoorde, Raymond Nijssen
French|Eve Rousseau, Marc Monnerat, Lionel Roubeyrie, Jean Roc Morreale, Benjamin Bohard, Jeremy Garniaux, Yves Jacolin, Benjamin Lerre, Stéphane Morel, Marie Silvestre, Tahir Tamba, Xavier M, Mayeul Kauffmann
French|Eve Rousseau, Marc Monnerat, Lionel Roubeyrie, Jean Roc Morreale, Benjamin Bohard, Jeremy Garniaux, Yves Jacolin, Benjamin Lerre, Stéphane Morel, Marie Silvestre, Tahir Tamba, Xavier M, Mayeul Kauffmann, Mehdi Semchaoui
Georgian|Shota Murtskhvaladze, George Machitidze
German|Jürgen E. Fischer, Stephan Holl, Otto Dassau, Werner Macho
Greek|Evripidis Argyropoulos, Mike Pegnigiannis, Nikos Ves
Expand Down

0 comments on commit 836bd37

Please sign in to comment.