2012-10-20 00:24:35 +02:00
|
|
|
SET (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python)
|
|
|
|
|
2011-05-27 22:45:08 +02:00
|
|
|
ADD_SUBDIRECTORY(plugins)
|
2012-10-03 11:31:40 -06:00
|
|
|
ADD_SUBDIRECTORY(qsci_apis)
|
2007-12-07 04:22:24 +00:00
|
|
|
|
2012-03-08 15:55:37 +01:00
|
|
|
IF (WITH_PYSPATIALITE)
|
2011-05-27 22:45:08 +02:00
|
|
|
ADD_SUBDIRECTORY(pyspatialite)
|
2012-03-08 15:55:37 +01:00
|
|
|
ENDIF (WITH_PYSPATIALITE)
|
2011-01-10 21:34:39 +00:00
|
|
|
|
2012-04-24 20:50:43 +02:00
|
|
|
IF (WITH_INTERNAL_SPATIALITE)
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
|
|
../src/core/spatialite/headers
|
|
|
|
../src/core/spatialite/headers/spatialite
|
|
|
|
)
|
|
|
|
ENDIF (WITH_INTERNAL_SPATIALITE)
|
|
|
|
|
2012-10-20 00:24:35 +02:00
|
|
|
SET (QGIS_PYTHON_OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}/qgis)
|
2012-10-31 06:27:59 -06:00
|
|
|
FILE (MAKE_DIRECTORY ${QGIS_PYTHON_OUTPUT_DIRECTORY})
|
2011-07-25 19:12:40 +02:00
|
|
|
SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${QGIS_PYTHON_OUTPUT_DIRECTORY})
|
|
|
|
SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${QGIS_PYTHON_OUTPUT_DIRECTORY})
|
|
|
|
|
2010-01-16 11:04:41 +00:00
|
|
|
INCLUDE_DIRECTORIES(
|
|
|
|
${PYTHON_INCLUDE_PATH}
|
|
|
|
${SIP_INCLUDE_DIR}
|
|
|
|
${QT_QTCORE_INCLUDE_DIR}
|
|
|
|
${QT_QTGUI_INCLUDE_DIR}
|
|
|
|
${QT_QTNETWORK_INCLUDE_DIR}
|
|
|
|
${QT_QTSVG_INCLUDE_DIR}
|
|
|
|
${QT_QTXML_INCLUDE_DIR}
|
|
|
|
${GDAL_INCLUDE_DIR}
|
|
|
|
${GEOS_INCLUDE_DIR}
|
2012-09-24 02:28:15 +02:00
|
|
|
${QWT_INCLUDE_DIR}
|
2010-01-16 11:04:41 +00:00
|
|
|
|
|
|
|
../src/core
|
2012-09-24 02:28:15 +02:00
|
|
|
../src/core/pal
|
2010-01-16 11:04:41 +00:00
|
|
|
../src/core/composer
|
2012-09-24 02:28:15 +02:00
|
|
|
../src/core/diagram
|
2012-02-01 16:08:37 +01:00
|
|
|
../src/core/gps
|
|
|
|
../src/core/gps/qextserialport
|
2010-01-16 11:04:41 +00:00
|
|
|
../src/core/raster
|
|
|
|
../src/core/renderer
|
|
|
|
../src/core/symbology
|
|
|
|
../src/core/symbology-ng
|
2012-09-24 02:28:15 +02:00
|
|
|
|
|
|
|
../src/gui/raster
|
|
|
|
../src/gui/attributetable
|
|
|
|
|
2011-05-04 21:56:25 +02:00
|
|
|
${CMAKE_BINARY_DIR} # qgsconfig.h, qgsversion.h
|
2010-01-16 11:04:41 +00:00
|
|
|
)
|
|
|
|
|
2012-09-24 02:28:15 +02:00
|
|
|
IF(NOT WITH_TOUCH)
|
|
|
|
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} HAVE_TOUCH)
|
|
|
|
ENDIF(NOT WITH_TOUCH)
|
|
|
|
|
2012-09-24 18:16:27 +02:00
|
|
|
IF(NOT QT_MOBILITY_LOCATION_FOUND)
|
|
|
|
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} MOBILITY_LOCATION)
|
|
|
|
ENDIF(NOT QT_MOBILITY_LOCATION_FOUND)
|
|
|
|
|
2010-05-15 08:21:42 +00:00
|
|
|
IF(PYQT4_VERSION_NUM LESS 263680) # 0x040600
|
2010-05-09 00:45:17 +00:00
|
|
|
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} PROXY_FACTORY)
|
2010-05-15 08:21:42 +00:00
|
|
|
ENDIF(PYQT4_VERSION_NUM LESS 263680)
|
2010-01-16 11:04:41 +00:00
|
|
|
|
2010-10-03 13:56:32 +00:00
|
|
|
IF(NOT PYQT4_VERSION_NUM LESS 263941) # 0x040705
|
2010-10-03 09:11:28 +00:00
|
|
|
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} QSETINT_CONVERSION)
|
2010-10-04 20:05:12 +00:00
|
|
|
ENDIF(NOT PYQT4_VERSION_NUM LESS 263941)
|
2010-10-03 09:11:28 +00:00
|
|
|
|
2010-12-31 23:55:54 +00:00
|
|
|
IF(NOT PYQT4_VERSION_NUM LESS 264194) # 0x040802
|
|
|
|
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} QSETTYPE_CONVERSION)
|
|
|
|
ENDIF(NOT PYQT4_VERSION_NUM LESS 264194)
|
|
|
|
|
2012-09-30 18:18:40 +02:00
|
|
|
IF(PYQT4_VERSION_NUM LESS 264196) # 0x040804
|
|
|
|
SET(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} QLISTCONSTPTR_CONVERSION)
|
|
|
|
ENDIF(PYQT4_VERSION_NUM LESS 264196)
|
2011-07-25 19:12:40 +02:00
|
|
|
|
2010-01-16 11:04:41 +00:00
|
|
|
# core module
|
2012-10-04 12:27:23 +02:00
|
|
|
FILE(GLOB_RECURSE sip_files_core core/*.sip)
|
2011-05-27 22:45:08 +02:00
|
|
|
SET(SIP_EXTRA_FILES_DEPEND ${sip_files_core})
|
2012-04-09 18:50:36 -06:00
|
|
|
SET(SIP_EXTRA_OPTIONS ${PYQT4_SIP_FLAGS} -o -a ${CMAKE_BINARY_DIR}/python/qgis.core.api)
|
2010-01-16 11:04:41 +00:00
|
|
|
ADD_SIP_PYTHON_MODULE(qgis.core core/core.sip qgis_core)
|
|
|
|
|
|
|
|
# additional gui includes
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
|
|
../src/gui
|
|
|
|
../src/gui/symbology-ng
|
|
|
|
../src/plugins
|
|
|
|
${CMAKE_BINARY_DIR}/src/gui
|
|
|
|
${CMAKE_BINARY_DIR}/src/ui
|
|
|
|
)
|
|
|
|
|
|
|
|
# gui module
|
2012-10-04 12:27:23 +02:00
|
|
|
FILE(GLOB_RECURSE sip_files_gui gui/*.sip)
|
2011-05-27 22:45:08 +02:00
|
|
|
SET(SIP_EXTRA_FILES_DEPEND ${sip_files_core} ${sip_files_gui})
|
2012-04-09 18:50:36 -06:00
|
|
|
SET(SIP_EXTRA_OPTIONS ${PYQT4_SIP_FLAGS} -o -a ${CMAKE_BINARY_DIR}/python/qgis.gui.api)
|
2010-01-16 11:04:41 +00:00
|
|
|
ADD_SIP_PYTHON_MODULE(qgis.gui gui/gui.sip qgis_core qgis_gui)
|
|
|
|
|
|
|
|
# additional analysis includes
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
|
|
../src/analysis/vector
|
2012-09-27 11:18:43 +02:00
|
|
|
../src/analysis/raster
|
2011-06-02 13:49:43 +06:00
|
|
|
../src/analysis/network
|
2012-09-27 11:18:43 +02:00
|
|
|
../src/analysis/interpolation
|
2010-01-16 11:04:41 +00:00
|
|
|
${CMAKE_BINARY_DIR}/src/analysis/vector
|
2011-06-02 13:49:43 +06:00
|
|
|
${CMAKE_BINARY_DIR}/src/analysis/network
|
2012-09-27 11:18:43 +02:00
|
|
|
${CMAKE_BINARY_DIR}/src/analysis/raster
|
|
|
|
${CMAKE_BINARY_DIR}/src/analysis/interpolation
|
2010-01-16 11:04:41 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
# analysis module
|
2012-10-04 12:27:23 +02:00
|
|
|
FILE(GLOB sip_files_analysis
|
|
|
|
analysis/*.sip
|
|
|
|
analysis/raster/*.sip
|
|
|
|
analysis/vector/*.sip
|
|
|
|
analysis/interpolation/*.sip
|
|
|
|
)
|
2011-05-27 22:45:08 +02:00
|
|
|
SET(SIP_EXTRA_FILES_DEPEND ${sip_files_core} ${sip_files_analysis})
|
2012-04-09 18:50:36 -06:00
|
|
|
SET(SIP_EXTRA_OPTIONS ${PYQT4_SIP_FLAGS} -o -a ${CMAKE_BINARY_DIR}/python/qgis.analysis.api)
|
2010-01-16 11:04:41 +00:00
|
|
|
ADD_SIP_PYTHON_MODULE(qgis.analysis analysis/analysis.sip qgis_core qgis_analysis)
|
|
|
|
|
2011-06-02 13:49:43 +06:00
|
|
|
# network-analysis module
|
2012-10-04 12:27:23 +02:00
|
|
|
FILE(GLOB_RECURSE sip_files_network_analysis analysis/network/*.sip)
|
2012-04-09 18:50:36 -06:00
|
|
|
SET(SIP_EXTRA_FILES_DEPEND ${sip_files_core} ${sip_files_network_analysis})
|
|
|
|
SET(SIP_EXTRA_OPTIONS ${PYQT4_SIP_FLAGS} -o -a ${CMAKE_BINARY_DIR}/python/qgis.networkanalysis.api)
|
2011-06-02 13:49:43 +06:00
|
|
|
ADD_SIP_PYTHON_MODULE(qgis.networkanalysis analysis/network/networkanalysis.sip qgis_core qgis_networkanalysis)
|
2010-01-16 11:04:41 +00:00
|
|
|
|
2012-10-03 11:31:40 -06:00
|
|
|
SET(QGIS_PYTHON_DIR ${PYTHON_SITE_PACKAGES_DIR}/qgis)
|
|
|
|
|
|
|
|
IF(WITH_QSCIAPI)
|
|
|
|
# wait until after python module builds for api files to be available
|
|
|
|
SET(QGIS_PYTHON_API_FILE "${CMAKE_BINARY_DIR}/python/qsci_apis/PyQGIS.api")
|
|
|
|
# create empty destination api file
|
|
|
|
FILE(WRITE "${QGIS_PYTHON_API_FILE}" "")
|
|
|
|
|
|
|
|
# run update/concatenate command after last python module is built (currently python_module_qgis_gui)
|
|
|
|
ADD_CUSTOM_COMMAND(TARGET python_module_qgis_gui
|
|
|
|
POST_BUILD
|
|
|
|
COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_SOURCE_DIR}/cmake/QsciAPI.cmake"
|
|
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
|
|
|
COMMENT "Generating pyqgis api file" VERBATIM)
|
|
|
|
|
2012-10-05 18:30:12 +02:00
|
|
|
INSTALL(FILES ${QGIS_PYTHON_API_FILE} DESTINATION "${QGIS_DATA_DIR}/python/qsci_apis")
|
2012-10-03 11:31:40 -06:00
|
|
|
ENDIF(WITH_QSCIAPI)
|
2010-01-16 11:04:41 +00:00
|
|
|
|
2012-11-01 11:26:52 +01:00
|
|
|
# Plugin utilities files to copy to staging or install
|
2012-10-25 00:59:31 -06:00
|
|
|
SET(PY_FILES
|
|
|
|
__init__.py
|
|
|
|
utils.py
|
2011-11-16 11:11:41 +01:00
|
|
|
)
|
2012-11-01 11:26:52 +01:00
|
|
|
|
|
|
|
ADD_CUSTOM_TARGET(pyutils ALL)
|
|
|
|
INSTALL(FILES ${PY_FILES} DESTINATION "${QGIS_PYTHON_DIR}")
|
2012-10-25 00:59:31 -06:00
|
|
|
|
|
|
|
# stage to output to make available when QGIS is run from build directory
|
|
|
|
FOREACH(pyfile ${PY_FILES} ${PYUI_FILES})
|
|
|
|
ADD_CUSTOM_COMMAND(TARGET pyutils
|
|
|
|
POST_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${pyfile} "${QGIS_PYTHON_OUTPUT_DIRECTORY}"
|
|
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
DEPENDS ${pyfile}
|
2011-08-09 13:51:25 +02:00
|
|
|
)
|
2012-10-25 00:59:31 -06:00
|
|
|
ENDFOREACH(pyfile)
|
|
|
|
|
2012-11-01 11:26:52 +01:00
|
|
|
ADD_SUBDIRECTORY(console)
|
2012-10-25 00:59:31 -06:00
|
|
|
|
2012-10-25 22:48:37 -06:00
|
|
|
# Byte-compile staged PyQGIS utilities
|
|
|
|
IF(WITH_PY_COMPILE)
|
|
|
|
ADD_CUSTOM_TARGET(pycompile_pyutils ALL
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE} -m compileall -q "${PYTHON_OUTPUT_DIRECTORY}/qgis"
|
|
|
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
|
|
|
COMMENT "Byte-compiling staged PyQGIS utility modules..."
|
|
|
|
DEPENDS pyutils
|
|
|
|
)
|
|
|
|
ENDIF(WITH_PY_COMPILE)
|
|
|
|
|