mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-22 00:06:12 -05:00
use cmake native FindPython (#42497)
This commit is contained in:
parent
cb24fe48e1
commit
555f516925
@ -1,6 +1,6 @@
|
|||||||
#############################################################
|
#############################################################
|
||||||
# CMake settings
|
# CMake settings
|
||||||
cmake_minimum_required(VERSION 3.10.0)
|
cmake_minimum_required(VERSION 3.12.0)
|
||||||
set(CMAKE_COLOR_MAKEFILE ON)
|
set(CMAKE_COLOR_MAKEFILE ON)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
# set path to additional CMake modules
|
# set path to additional CMake modules
|
||||||
@ -9,6 +9,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
|||||||
cmake_policy(SET CMP0048 NEW)
|
cmake_policy(SET CMP0048 NEW)
|
||||||
cmake_policy(SET CMP0053 NEW)
|
cmake_policy(SET CMP0053 NEW)
|
||||||
cmake_policy(SET CMP0071 NEW)
|
cmake_policy(SET CMP0071 NEW)
|
||||||
|
cmake_policy(SET CMP0094 NEW)
|
||||||
|
|
||||||
# don't relink it only the shared object changes
|
# don't relink it only the shared object changes
|
||||||
set(CMAKE_LINK_DEPENDS_NO_SHARED ON)
|
set(CMAKE_LINK_DEPENDS_NO_SHARED ON)
|
||||||
@ -932,16 +933,15 @@ endif()
|
|||||||
set(QGIS_INSTALL_SYS_LIBS TRUE CACHE BOOL "If set to TRUE install all required system libs in the output package")
|
set(QGIS_INSTALL_SYS_LIBS TRUE CACHE BOOL "If set to TRUE install all required system libs in the output package")
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
# Python build dependency
|
# Python
|
||||||
|
|
||||||
find_package(PythonLibrary REQUIRED)
|
|
||||||
set(MIN_PYTHON_VERSION "3.7")
|
set(MIN_PYTHON_VERSION "3.7")
|
||||||
if(${PYTHON_SHORT_VERSION} VERSION_LESS ${MIN_PYTHON_VERSION})
|
set(Python_FIND_FRAMEWORK "LAST")
|
||||||
message(FATAL_ERROR "Python version ${PYTHON_SHORT_VERSION} is too old. Minimum Python version is ${MIN_PYTHON_VERSION}.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#############################################################
|
find_package(Python ${MIN_PYTHON_VERSION} REQUIRED COMPONENTS Interpreter Development)
|
||||||
# Python bindings
|
message("-- Found Python executable: ${Python_EXECUTABLE} (version ${Python_VERSION})")
|
||||||
|
message("-- Python library: ${Python_LIBRARIES}")
|
||||||
|
message("-- Python site-packages: ${Python_SITEARCH}")
|
||||||
|
|
||||||
if (WITH_CORE AND WITH_BINDINGS AND NOT WITH_QT6)
|
if (WITH_CORE AND WITH_BINDINGS AND NOT WITH_QT6)
|
||||||
# python support: check for interpreter, sip, pyqt5
|
# python support: check for interpreter, sip, pyqt5
|
||||||
@ -960,15 +960,15 @@ if (WITH_CORE AND WITH_BINDINGS AND NOT WITH_QT6)
|
|||||||
set(SIP_CONCAT_PARTS 11)
|
set(SIP_CONCAT_PARTS 11)
|
||||||
|
|
||||||
if (NOT BINDINGS_GLOBAL_INSTALL)
|
if (NOT BINDINGS_GLOBAL_INSTALL)
|
||||||
set(PYTHON_SITE_PACKAGES_DIR ${QGIS_DATA_DIR}/python)
|
set(Python_SITEARCH ${QGIS_DATA_DIR}/python)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WITH_CUSTOM_WIDGETS)
|
if (WITH_CUSTOM_WIDGETS)
|
||||||
set(PYUIC_WIDGET_PLUGIN_DIRECTORY ${PYQT5_MOD_DIR}/uic/widget-plugins/)
|
set(PYUIC_WIDGET_PLUGIN_DIRECTORY ${PYQT5_MOD_DIR}/uic/widget-plugins/)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
# create qgsconfig.h
|
# create qgsconfig.h
|
||||||
# installed with app target
|
# installed with app target
|
||||||
|
@ -256734,7 +256734,7 @@ Nathan Woodrow <madmanwoo@gmail.com> 2013-09-14
|
|||||||
|
|
||||||
Jürgen E. Fischer <jef@norbit.de> 2013-09-13
|
Jürgen E. Fischer <jef@norbit.de> 2013-09-13
|
||||||
|
|
||||||
fix retrieval of PYTHON_SITE_PACKAGES_DIR - broke debian builds
|
fix retrieval of Python_SITEARCH - broke debian builds
|
||||||
|
|
||||||
Merge: b14e13388e 2b4e13930d
|
Merge: b14e13388e 2b4e13930d
|
||||||
Marco Hugentobler <marco.hugentobler@sourcepole.ch> 2013-09-13
|
Marco Hugentobler <marco.hugentobler@sourcepole.ch> 2013-09-13
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
#
|
|
||||||
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
|
||||||
# modification, are permitted provided that the following conditions are met:
|
|
||||||
# * Redistributions of source code must retain the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer in the
|
|
||||||
# documentation and/or other materials provided with the distribution.
|
|
||||||
# * Neither the name of the Simon Edwards <simon@simonzone.com> nor the
|
|
||||||
# names of its contributors may be used to endorse or promote products
|
|
||||||
# derived from this software without specific prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY Simon Edwards <simon@simonzone.com> ''AS IS'' AND ANY
|
|
||||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
# DISCLAIMED. IN NO EVENT SHALL Simon Edwards <simon@simonzone.com> BE LIABLE FOR ANY
|
|
||||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
#
|
|
||||||
# FindLibPython.py
|
|
||||||
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
|
|
||||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
||||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
||||||
|
|
||||||
import sys
|
|
||||||
import distutils.sysconfig
|
|
||||||
|
|
||||||
print("exec_prefix:%s" % sys.exec_prefix)
|
|
||||||
print("short_version:%s" % sys.version[:3])
|
|
||||||
print("long_version:%s" % sys.version.split()[0])
|
|
||||||
print("py_inc_dir:%s" % distutils.sysconfig.get_python_inc())
|
|
||||||
print("site_packages_dir:%s" % distutils.sysconfig.get_python_lib(plat_specific=1))
|
|
@ -29,7 +29,7 @@ ELSE(EXISTS PYQT5_VERSION)
|
|||||||
|
|
||||||
FIND_FILE(_find_pyqt5_py FindPyQt5.py PATHS ${CMAKE_MODULE_PATH} NO_CMAKE_FIND_ROOT_PATH)
|
FIND_FILE(_find_pyqt5_py FindPyQt5.py PATHS ${CMAKE_MODULE_PATH} NO_CMAKE_FIND_ROOT_PATH)
|
||||||
|
|
||||||
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt5_py} OUTPUT_VARIABLE pyqt_config)
|
EXECUTE_PROCESS(COMMAND ${Python_EXECUTABLE} ${_find_pyqt5_py} OUTPUT_VARIABLE pyqt_config)
|
||||||
IF(pyqt_config)
|
IF(pyqt_config)
|
||||||
STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT5_VERSION ${pyqt_config})
|
STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT5_VERSION ${pyqt_config})
|
||||||
STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT5_VERSION_STR ${pyqt_config})
|
STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT5_VERSION_STR ${pyqt_config})
|
||||||
|
@ -1,121 +0,0 @@
|
|||||||
# Find Python
|
|
||||||
# ~~~~~~~~~~~
|
|
||||||
# Find the Python interpreter and related Python directories.
|
|
||||||
#
|
|
||||||
# This file defines the following variables:
|
|
||||||
#
|
|
||||||
# PYTHON_EXECUTABLE - The path and filename of the Python interpreter.
|
|
||||||
#
|
|
||||||
# PYTHON_SHORT_VERSION - The version of the Python interpreter found,
|
|
||||||
# excluding the patch version number. (e.g. 2.5 and not 2.5.1))
|
|
||||||
#
|
|
||||||
# PYTHON_LONG_VERSION - The version of the Python interpreter found as a human
|
|
||||||
# readable string.
|
|
||||||
#
|
|
||||||
# PYTHON_SITE_PACKAGES_DIR - Location of the Python site-packages directory.
|
|
||||||
#
|
|
||||||
# PYTHON_INCLUDE_PATH - Directory holding the python.h include file.
|
|
||||||
#
|
|
||||||
# PYTHON_LIBRARY, PYTHON_LIBRARIES- Location of the Python library.
|
|
||||||
|
|
||||||
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
|
|
||||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
||||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
INCLUDE(CMakeFindFrameworks)
|
|
||||||
|
|
||||||
if(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}")
|
|
||||||
# Already in cache, be silent
|
|
||||||
set(PYTHONLIBRARY_FOUND TRUE)
|
|
||||||
else(EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}")
|
|
||||||
|
|
||||||
FIND_PACKAGE(PythonInterp 3)
|
|
||||||
|
|
||||||
if(PYTHONINTERP_FOUND)
|
|
||||||
FIND_FILE(_find_lib_python_py FindLibPython.py PATHS ${CMAKE_MODULE_PATH} NO_CMAKE_FIND_ROOT_PATH)
|
|
||||||
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_lib_python_py} OUTPUT_VARIABLE python_config)
|
|
||||||
|
|
||||||
if(python_config)
|
|
||||||
STRING(REGEX REPLACE ".*exec_prefix:([^\n]+).*$" "\\1" PYTHON_PREFIX ${python_config})
|
|
||||||
STRING(REGEX REPLACE ".*\nshort_version:([^\n]+).*$" "\\1" PYTHON_SHORT_VERSION ${python_config})
|
|
||||||
STRING(REGEX REPLACE ".*\nlong_version:([^\n]+).*$" "\\1" PYTHON_LONG_VERSION ${python_config})
|
|
||||||
STRING(REGEX REPLACE ".*\npy_inc_dir:([^\n]+).*$" "\\1" PYTHON_INCLUDE_PATH ${python_config})
|
|
||||||
if(NOT PYTHON_SITE_PACKAGES_DIR)
|
|
||||||
if(NOT PYTHON_LIBS_WITH_KDE_LIBS)
|
|
||||||
STRING(REGEX REPLACE ".*\nsite_packages_dir:([^\n]+).*$" "\\1" PYTHON_SITE_PACKAGES_DIR ${python_config})
|
|
||||||
else(NOT PYTHON_LIBS_WITH_KDE_LIBS)
|
|
||||||
set(PYTHON_SITE_PACKAGES_DIR ${KDE4_LIB_INSTALL_DIR}/python${PYTHON_SHORT_VERSION}/site-packages)
|
|
||||||
endif(NOT PYTHON_LIBS_WITH_KDE_LIBS)
|
|
||||||
endif(NOT PYTHON_SITE_PACKAGES_DIR)
|
|
||||||
STRING(REGEX REPLACE "([0-9]+).([0-9]+)" "\\1\\2" PYTHON_SHORT_VERSION_NO_DOT ${PYTHON_SHORT_VERSION})
|
|
||||||
set(PYTHON_LIBRARY_NAMES python${PYTHON_SHORT_VERSION} python${PYTHON_SHORT_VERSION_NO_DOT} python${PYTHON_SHORT_VERSION}m python${PYTHON_SHORT_VERSION_NO_DOT}m)
|
|
||||||
if(WIN32)
|
|
||||||
STRING(REPLACE "\\" "/" PYTHON_SITE_PACKAGES_DIR ${PYTHON_SITE_PACKAGES_DIR})
|
|
||||||
FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES} PATHS ${PYTHON_PREFIX}/lib ${PYTHON_PREFIX}/libs)
|
|
||||||
elseif(APPLE AND QGIS_MAC_DEPS_DIR)
|
|
||||||
FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES} PATHS $ENV{LIB_DIR}/lib)
|
|
||||||
else(WIN32)
|
|
||||||
FIND_LIBRARY(PYTHON_LIBRARY NAMES ${PYTHON_LIBRARY_NAMES})
|
|
||||||
endif(WIN32)
|
|
||||||
set(PYTHON_INCLUDE_PATH ${PYTHON_INCLUDE_PATH} CACHE FILEPATH "Directory holding the python.h include file" FORCE)
|
|
||||||
set(PYTHONLIBRARY_FOUND TRUE)
|
|
||||||
endif(python_config)
|
|
||||||
|
|
||||||
# adapted from cmake's builtin FindPythonLibs
|
|
||||||
if(APPLE)
|
|
||||||
# If a framework has been detected in the include path, make sure
|
|
||||||
# framework's versioned library (not any .dylib) is used for linking
|
|
||||||
# NOTE: don't rely upon Python.framework/Versions/Current, since that may be 2.7
|
|
||||||
if("${PYTHON_INCLUDE_PATH}" MATCHES "Python\\.framework")
|
|
||||||
set(PYTHON_LIBRARY "")
|
|
||||||
set(PYTHON_DEBUG_LIBRARY "")
|
|
||||||
# get clean path to just framework
|
|
||||||
STRING(REGEX REPLACE "^(.*/Python\\.framework).*$" "\\1" _py_fw "${PYTHON_INCLUDE_PATH}")
|
|
||||||
if("${_py_fw}" MATCHES "Cellar/python")
|
|
||||||
# Appears to be a Homebrew Python install; do specific fix ups
|
|
||||||
# get Homebrew prefix (may not be /usr/local)
|
|
||||||
STRING(REGEX REPLACE "^(.+)/Cellar.*$" "\\1" _hb_prefix "${_py_fw}")
|
|
||||||
# prefer the Homebrew prefix framework over only versioned Python keg
|
|
||||||
set(_py_fw "${_hb_prefix}/Frameworks/Python.framework")
|
|
||||||
# prefer the symlinked-to Homebrew site-packages over only versioned Python keg
|
|
||||||
set(PYTHON_SITE_PACKAGES_DIR "${_hb_prefix}/lib/python${PYTHON_SHORT_VERSION}/site-packages")
|
|
||||||
endif("${_py_fw}" MATCHES "Cellar/python")
|
|
||||||
# prefer the Headers subdirectory for includes
|
|
||||||
if(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers")
|
|
||||||
set(PYTHON_INCLUDE_PATH "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers" CACHE FILEPATH "Directory holding the python.h include file" FORCE)
|
|
||||||
endif(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Headers")
|
|
||||||
endif("${PYTHON_INCLUDE_PATH}" MATCHES "Python\\.framework")
|
|
||||||
if(NOT PYTHON_LIBRARY)
|
|
||||||
# ensure the versioned framework's library is defined, instead of relying upon -F search paths
|
|
||||||
if(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python")
|
|
||||||
set(PYTHON_LIBRARY "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python" CACHE FILEPATH "Python framework library" FORCE)
|
|
||||||
endif(EXISTS "${_py_fw}/Versions/${PYTHON_SHORT_VERSION}/Python")
|
|
||||||
endif(NOT PYTHON_LIBRARY)
|
|
||||||
if(PYTHON_LIBRARY)
|
|
||||||
set(PYTHONLIBRARY_FOUND TRUE)
|
|
||||||
endif(PYTHON_LIBRARY)
|
|
||||||
endif(APPLE)
|
|
||||||
endif(PYTHONINTERP_FOUND)
|
|
||||||
|
|
||||||
if(PYTHONLIBRARY_FOUND)
|
|
||||||
if(APPLE)
|
|
||||||
# keep reference to system or custom python site-packages
|
|
||||||
# useful during app-bundling operations
|
|
||||||
set(PYTHON_SITE_PACKAGES_SYS ${PYTHON_SITE_PACKAGES_DIR} CACHE FILEPATH "Directory holding Python site packages")
|
|
||||||
endif(APPLE)
|
|
||||||
set(PYTHON_LIBRARIES ${PYTHON_LIBRARY})
|
|
||||||
if(NOT PYTHONLIBRARY_FIND_QUIETLY)
|
|
||||||
message(STATUS "Found Python executable: ${PYTHON_EXECUTABLE}")
|
|
||||||
message(STATUS "Found Python version: ${PYTHON_LONG_VERSION}")
|
|
||||||
message(STATUS "Found Python library: ${PYTHON_LIBRARY}")
|
|
||||||
message(STATUS "Found Python site-packages: ${PYTHON_SITE_PACKAGES_DIR}")
|
|
||||||
endif(NOT PYTHONLIBRARY_FIND_QUIETLY)
|
|
||||||
else(PYTHONLIBRARY_FOUND)
|
|
||||||
if(PYTHONLIBRARY_FIND_REQUIRED)
|
|
||||||
message(FATAL_ERROR "Could not find Python")
|
|
||||||
endif(PYTHONLIBRARY_FIND_REQUIRED)
|
|
||||||
endif(PYTHONLIBRARY_FOUND)
|
|
||||||
|
|
||||||
endif (EXISTS "${PYTHON_INCLUDE_PATH}" AND EXISTS "${PYTHON_LIBRARY}" AND EXISTS "${PYTHON_SITE_PACKAGES_DIR}")
|
|
@ -25,7 +25,7 @@ ELSE(QSCI_MOD_VERSION_STR)
|
|||||||
|
|
||||||
SET(QSCI_VER 5)
|
SET(QSCI_VER 5)
|
||||||
|
|
||||||
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_qsci_py} ${QSCI_VER} OUTPUT_VARIABLE qsci_ver)
|
EXECUTE_PROCESS(COMMAND ${Python_EXECUTABLE} ${_find_qsci_py} ${QSCI_VER} OUTPUT_VARIABLE qsci_ver)
|
||||||
|
|
||||||
IF(qsci_ver)
|
IF(qsci_ver)
|
||||||
STRING(REGEX REPLACE "^qsci_version_str:([^\n]+).*$" "\\1" QSCI_MOD_VERSION_STR ${qsci_ver})
|
STRING(REGEX REPLACE "^qsci_version_str:([^\n]+).*$" "\\1" QSCI_MOD_VERSION_STR ${qsci_ver})
|
||||||
|
@ -33,7 +33,7 @@ ELSE(SIP_VERSION)
|
|||||||
|
|
||||||
FIND_FILE(_find_sip_py FindSIP.py PATHS ${CMAKE_MODULE_PATH} NO_CMAKE_FIND_ROOT_PATH)
|
FIND_FILE(_find_sip_py FindSIP.py PATHS ${CMAKE_MODULE_PATH} NO_CMAKE_FIND_ROOT_PATH)
|
||||||
|
|
||||||
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config)
|
EXECUTE_PROCESS(COMMAND ${Python_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config)
|
||||||
IF(sip_config)
|
IF(sip_config)
|
||||||
STRING(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config})
|
STRING(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config})
|
||||||
STRING(REGEX REPLACE ".*\nsip_version_num:([^\n]+).*$" "\\1" SIP_VERSION_NUM ${sip_config})
|
STRING(REGEX REPLACE ".*\nsip_version_num:([^\n]+).*$" "\\1" SIP_VERSION_NUM ${sip_config})
|
||||||
|
@ -44,7 +44,7 @@ MACRO(PYQT_WRAP_UI outfiles )
|
|||||||
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
|
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
|
||||||
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.py)
|
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.py)
|
||||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||||
COMMAND ${PYUIC_WRAPPER} "${PYUIC_PROGRAM}" "${PYUIC_WRAPPER_PATH}" "${QGIS_OUTPUT_DIRECTORY}/python" "${PYTHON_EXECUTABLE}" ${infile} -o ${outfile}
|
COMMAND ${PYUIC_WRAPPER} "${PYUIC_PROGRAM}" "${PYUIC_WRAPPER_PATH}" "${QGIS_OUTPUT_DIRECTORY}/python" "${Python_EXECUTABLE}" ${infile} -o ${outfile}
|
||||||
MAIN_DEPENDENCY ${infile}
|
MAIN_DEPENDENCY ${infile}
|
||||||
DEPENDS pygui pycore pyqtcompat
|
DEPENDS pygui pycore pyqtcompat
|
||||||
)
|
)
|
||||||
|
@ -44,7 +44,7 @@ MACRO(PYTHON_INSTALL SOURCE_FILE DESTINATION_DIR)
|
|||||||
ADD_CUSTOM_COMMAND(
|
ADD_CUSTOM_COMMAND(
|
||||||
TARGET compile_python_files
|
TARGET compile_python_files
|
||||||
COMMAND ${CMAKE_COMMAND} -E echo ${message}
|
COMMAND ${CMAKE_COMMAND} -E echo ${message}
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py}
|
COMMAND ${Python_EXECUTABLE} ${_python_compile_py} ${_bin_py}
|
||||||
DEPENDS ${_absfilename}
|
DEPENDS ${_absfilename}
|
||||||
)
|
)
|
||||||
ELSE(_abs_bin_py STREQUAL ${_absfilename})
|
ELSE(_abs_bin_py STREQUAL ${_absfilename})
|
||||||
@ -52,7 +52,7 @@ MACRO(PYTHON_INSTALL SOURCE_FILE DESTINATION_DIR)
|
|||||||
TARGET compile_python_files
|
TARGET compile_python_files
|
||||||
COMMAND ${CMAKE_COMMAND} -E echo ${message}
|
COMMAND ${CMAKE_COMMAND} -E echo ${message}
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py}
|
COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py}
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py}
|
COMMAND ${Python_EXECUTABLE} ${_python_compile_py} ${_bin_py}
|
||||||
DEPENDS ${_absfilename}
|
DEPENDS ${_absfilename}
|
||||||
)
|
)
|
||||||
ENDIF(_abs_bin_py STREQUAL ${_absfilename})
|
ENDIF(_abs_bin_py STREQUAL ${_absfilename})
|
||||||
|
@ -151,7 +151,7 @@ MACRO(BUILD_SIP_PYTHON_MODULE MODULE_NAME SIP_FILES EXTRA_OBJECTS)
|
|||||||
|
|
||||||
SET_TARGET_PROPERTIES(${_logical_name} PROPERTIES CXX_VISIBILITY_PRESET default)
|
SET_TARGET_PROPERTIES(${_logical_name} PROPERTIES CXX_VISIBILITY_PRESET default)
|
||||||
IF (NOT APPLE)
|
IF (NOT APPLE)
|
||||||
TARGET_LINK_LIBRARIES(${_logical_name} ${PYTHON_LIBRARY})
|
TARGET_LINK_LIBRARIES(${_logical_name} ${Python_LIBRARIES})
|
||||||
ENDIF (NOT APPLE)
|
ENDIF (NOT APPLE)
|
||||||
TARGET_LINK_LIBRARIES(${_logical_name} ${EXTRA_LINK_LIBRARIES})
|
TARGET_LINK_LIBRARIES(${_logical_name} ${EXTRA_LINK_LIBRARIES})
|
||||||
IF (APPLE)
|
IF (APPLE)
|
||||||
@ -172,5 +172,5 @@ MACRO(BUILD_SIP_PYTHON_MODULE MODULE_NAME SIP_FILES EXTRA_OBJECTS)
|
|||||||
)
|
)
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
INSTALL(TARGETS ${_logical_name} DESTINATION "${PYTHON_SITE_PACKAGES_DIR}/${_parent_module_path}")
|
INSTALL(TARGETS ${_logical_name} DESTINATION "${Python_SITEARCH}/${_parent_module_path}")
|
||||||
ENDMACRO(BUILD_SIP_PYTHON_MODULE MODULE_NAME SIP_FILES EXTRA_OBJECTS)
|
ENDMACRO(BUILD_SIP_PYTHON_MODULE MODULE_NAME SIP_FILES EXTRA_OBJECTS)
|
||||||
|
@ -19,9 +19,6 @@
|
|||||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS
|
||||||
#
|
#
|
||||||
|
|
||||||
# Need python interpreter:
|
|
||||||
FIND_PACKAGE(PythonInterp 3 REQUIRED)
|
|
||||||
MARK_AS_ADVANCED(PYTHON_EXECUTABLE)
|
|
||||||
|
|
||||||
MACRO(ADD_PYTHON_TEST TESTNAME FILENAME)
|
MACRO(ADD_PYTHON_TEST TESTNAME FILENAME)
|
||||||
GET_SOURCE_FILE_PROPERTY(loc ${FILENAME} LOCATION)
|
GET_SOURCE_FILE_PROPERTY(loc ${FILENAME} LOCATION)
|
||||||
@ -84,9 +81,9 @@ MESSAGE(\"export LD_LIBRARY_PATH=\$ENV{LD_LIBRARY_PATH}\")
|
|||||||
|
|
||||||
FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${TESTNAME}.cmake "
|
FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${TESTNAME}.cmake "
|
||||||
MESSAGE(\"export PYTHONPATH=\$ENV{PYTHONPATH}\")
|
MESSAGE(\"export PYTHONPATH=\$ENV{PYTHONPATH}\")
|
||||||
MESSAGE(STATUS \"Running ${PYTHON_TEST_WRAPPER_PROCESSED} ${PYTHON_EXECUTABLE} ${loc} ${wo_semicolon}\")
|
MESSAGE(STATUS \"Running ${PYTHON_TEST_WRAPPER_PROCESSED} ${Python_EXECUTABLE} ${loc} ${wo_semicolon}\")
|
||||||
EXECUTE_PROCESS(
|
EXECUTE_PROCESS(
|
||||||
COMMAND ${PYTHON_TEST_WRAPPER_PROCESSED} ${PYTHON_EXECUTABLE} ${loc} ${wo_semicolon}
|
COMMAND ${PYTHON_TEST_WRAPPER_PROCESSED} ${Python_EXECUTABLE} ${loc} ${wo_semicolon}
|
||||||
RESULT_VARIABLE import_res
|
RESULT_VARIABLE import_res
|
||||||
)
|
)
|
||||||
# Pass the output back to ctest
|
# Pass the output back to ctest
|
||||||
@ -114,5 +111,5 @@ MACRO(ADD_PYTHON_COMPILEALL_TEST DIRNAME)
|
|||||||
# Find the python script:
|
# Find the python script:
|
||||||
GET_FILENAME_COMPONENT(PYTHON_COMPILE_ALL_PY "${temp_path}/../compileall.py" ABSOLUTE)
|
GET_FILENAME_COMPONENT(PYTHON_COMPILE_ALL_PY "${temp_path}/../compileall.py" ABSOLUTE)
|
||||||
# add test, use DIRNAME to create unique name for the test:
|
# add test, use DIRNAME to create unique name for the test:
|
||||||
ADD_TEST(COMPILE_ALL-${DIRNAME} ${PYTHON_EXECUTABLE} "${PYTHON_COMPILE_ALL_PY}" -q ${DIRNAME})
|
ADD_TEST(COMPILE_ALL-${DIRNAME} ${Python_EXECUTABLE} "${PYTHON_COMPILE_ALL_PY}" -q ${DIRNAME})
|
||||||
ENDMACRO(ADD_PYTHON_COMPILEALL_TEST)
|
ENDMACRO(ADD_PYTHON_COMPILEALL_TEST)
|
||||||
|
@ -145,9 +145,9 @@ ENDFUNCTION() # SETUP_TARGET_FOR_COVERAGE
|
|||||||
# Pass them in list form, e.g.: "-j;2" for -j 2
|
# Pass them in list form, e.g.: "-j;2" for -j 2
|
||||||
FUNCTION(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname)
|
FUNCTION(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname)
|
||||||
|
|
||||||
IF(NOT PYTHON_EXECUTABLE)
|
IF(NOT Python_EXECUTABLE)
|
||||||
MESSAGE(FATAL_ERROR "Python not found! Aborting...")
|
MESSAGE(FATAL_ERROR "Python not found! Aborting...")
|
||||||
ENDIF() # NOT PYTHON_EXECUTABLE
|
ENDIF() # NOT Python_EXECUTABLE
|
||||||
|
|
||||||
IF(NOT GCOVR_PATH)
|
IF(NOT GCOVR_PATH)
|
||||||
MESSAGE(FATAL_ERROR "gcovr not found! Aborting...")
|
MESSAGE(FATAL_ERROR "gcovr not found! Aborting...")
|
||||||
|
@ -31,7 +31,7 @@ if (UNIX AND NOT APPLE AND PYQT5_FOUND)
|
|||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${CMAKE_BINARY_DIR}/org.qgis.qgis.desktop ${CMAKE_BINARY_DIR}/org.qgis.qgis.appdata.xml
|
OUTPUT ${CMAKE_BINARY_DIR}/org.qgis.qgis.desktop ${CMAKE_BINARY_DIR}/org.qgis.qgis.appdata.xml
|
||||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||||
COMMAND ${PYTHON_EXECUTABLE}
|
COMMAND ${Python_EXECUTABLE}
|
||||||
ARGS ${CMAKE_SOURCE_DIR}/scripts/ts2appinfo.py "${CMAKE_BINARY_DIR}"
|
ARGS ${CMAKE_SOURCE_DIR}/scripts/ts2appinfo.py "${CMAKE_BINARY_DIR}"
|
||||||
COMMENT "Updating appinfo files..."
|
COMMENT "Updating appinfo files..."
|
||||||
DEPENDS ${QM_FILES} ${CMAKE_SOURCE_DIR}/linux/org.qgis.qgis.desktop.in ${CMAKE_SOURCE_DIR}/linux/org.qgis.qgis.appdata.xml.in
|
DEPENDS ${QM_FILES} ${CMAKE_SOURCE_DIR}/linux/org.qgis.qgis.desktop.in ${CMAKE_SOURCE_DIR}/linux/org.qgis.qgis.appdata.xml.in
|
||||||
|
@ -143,7 +143,7 @@ cmake -G "%CMAKEGEN%" ^
|
|||||||
-D SPATIALITE_LIBRARY=%O4W_ROOT%/lib/spatialite_i.lib ^
|
-D SPATIALITE_LIBRARY=%O4W_ROOT%/lib/spatialite_i.lib ^
|
||||||
-D PYTHON_EXECUTABLE=%O4W_ROOT%/bin/python3.exe ^
|
-D PYTHON_EXECUTABLE=%O4W_ROOT%/bin/python3.exe ^
|
||||||
-D SIP_BINARY_PATH=%PYTHONHOME:\=/%/sip.exe ^
|
-D SIP_BINARY_PATH=%PYTHONHOME:\=/%/sip.exe ^
|
||||||
-D PYTHON_INCLUDE_PATH=%PYTHONHOME:\=/%/include ^
|
-D PYTHON_INCLUDE_DIR=%PYTHONHOME:\=/%/include ^
|
||||||
-D PYTHON_LIBRARY=%PYTHONHOME:\=/%/libs/%PYVER%.lib ^
|
-D PYTHON_LIBRARY=%PYTHONHOME:\=/%/libs/%PYVER%.lib ^
|
||||||
-D QT_LIBRARY_DIR=%O4W_ROOT%/lib ^
|
-D QT_LIBRARY_DIR=%O4W_ROOT%/lib ^
|
||||||
-D QT_HEADERS_DIR=%O4W_ROOT%/apps/qt5/include ^
|
-D QT_HEADERS_DIR=%O4W_ROOT%/apps/qt5/include ^
|
||||||
|
@ -142,7 +142,7 @@ cmake -G "%CMAKEGEN%" ^
|
|||||||
-D SPATIALITE_LIBRARY=%O4W_ROOT%/lib/spatialite_i.lib ^
|
-D SPATIALITE_LIBRARY=%O4W_ROOT%/lib/spatialite_i.lib ^
|
||||||
-D PYTHON_EXECUTABLE=%O4W_ROOT%/bin/python3.exe ^
|
-D PYTHON_EXECUTABLE=%O4W_ROOT%/bin/python3.exe ^
|
||||||
-D SIP_BINARY_PATH=%PYTHONHOME:\=/%/sip.exe ^
|
-D SIP_BINARY_PATH=%PYTHONHOME:\=/%/sip.exe ^
|
||||||
-D PYTHON_INCLUDE_PATH=%PYTHONHOME:\=/%/include ^
|
-D PYTHON_INCLUDE_DIR=%PYTHONHOME:\=/%/include ^
|
||||||
-D PYTHON_LIBRARY=%PYTHONHOME:\=/%/libs/%PYVER%.lib ^
|
-D PYTHON_LIBRARY=%PYTHONHOME:\=/%/libs/%PYVER%.lib ^
|
||||||
-D QT_LIBRARY_DIR=%O4W_ROOT%/lib ^
|
-D QT_LIBRARY_DIR=%O4W_ROOT%/lib ^
|
||||||
-D QT_HEADERS_DIR=%O4W_ROOT%/apps/qt5/include ^
|
-D QT_HEADERS_DIR=%O4W_ROOT%/apps/qt5/include ^
|
||||||
|
@ -5,7 +5,7 @@ CMAKE_POLICY(SET CMP0012 NEW)
|
|||||||
IF(@WITH_PY_COMPILE@)
|
IF(@WITH_PY_COMPILE@)
|
||||||
MESSAGE(STATUS "Byte-compiling core Python utilities and plugins...")
|
MESSAGE(STATUS "Byte-compiling core Python utilities and plugins...")
|
||||||
# exclude Python 3 modules in PyQt4.uic package
|
# exclude Python 3 modules in PyQt4.uic package
|
||||||
EXECUTE_PROCESS(COMMAND @PYTHON_EXECUTABLE@ -m compileall -q -x ".*uic.port_v3.*" "$ENV{DESTDIR}@CMAKE_INSTALL_PREFIX@/@QGIS_DATA_DIR@/python")
|
EXECUTE_PROCESS(COMMAND @Python_EXECUTABLE@ -m compileall -q -x ".*uic.port_v3.*" "$ENV{DESTDIR}@CMAKE_INSTALL_PREFIX@/@QGIS_DATA_DIR@/python")
|
||||||
ENDIF(@WITH_PY_COMPILE@)
|
ENDIF(@WITH_PY_COMPILE@)
|
||||||
|
|
||||||
set(ENV{QGIS_PREFIX_PATH} "$ENV{DESTDIR}@CMAKE_INSTALL_PREFIX@")
|
set(ENV{QGIS_PREFIX_PATH} "$ENV{DESTDIR}@CMAKE_INSTALL_PREFIX@")
|
||||||
|
@ -25,7 +25,7 @@ endif()
|
|||||||
|
|
||||||
# Non-default/non-option-controlled target to stage and compile plugins and extras
|
# Non-default/non-option-controlled target to stage and compile plugins and extras
|
||||||
add_custom_target(staged-plugins-pyc DEPENDS staged-plugins
|
add_custom_target(staged-plugins-pyc DEPENDS staged-plugins
|
||||||
COMMAND ${PYTHON_EXECUTABLE} -m compileall -q "${PYTHON_OUTPUT_DIRECTORY}"
|
COMMAND ${Python_EXECUTABLE} -m compileall -q "${PYTHON_OUTPUT_DIRECTORY}"
|
||||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||||
COMMENT "Byte-compiling build output/python directory..."
|
COMMENT "Byte-compiling build output/python directory..."
|
||||||
)
|
)
|
||||||
@ -40,7 +40,7 @@ macro(PY_COMPILE TARGET_NAME RESOURCE_PATHS)
|
|||||||
if(WITH_PY_COMPILE)
|
if(WITH_PY_COMPILE)
|
||||||
add_custom_command(TARGET ${TARGET_NAME}
|
add_custom_command(TARGET ${TARGET_NAME}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${PYTHON_EXECUTABLE} -m compileall -q ${RESOURCE_PATHS}
|
COMMAND ${Python_EXECUTABLE} -m compileall -q ${RESOURCE_PATHS}
|
||||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||||
COMMENT "Byte-compiling staged resource..."
|
COMMENT "Byte-compiling staged resource..."
|
||||||
)
|
)
|
||||||
@ -51,7 +51,7 @@ endmacro(PY_COMPILE)
|
|||||||
macro(PY_2TO3 TARGET_NAME RESOURCE_PATHS)
|
macro(PY_2TO3 TARGET_NAME RESOURCE_PATHS)
|
||||||
add_custom_command(TARGET ${TARGET_NAME}
|
add_custom_command(TARGET ${TARGET_NAME}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND "${PYTHON_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/scripts/2to3" --no-diffs -w ${RESOURCE_PATHS}
|
COMMAND "${Python_EXECUTABLE}" "${CMAKE_SOURCE_DIR}/scripts/2to3" --no-diffs -w ${RESOURCE_PATHS}
|
||||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||||
COMMENT "Porting ${RESOURCE_PATHS} to Python 3 and Qt5"
|
COMMENT "Porting ${RESOURCE_PATHS} to Python 3 and Qt5"
|
||||||
)
|
)
|
||||||
@ -69,7 +69,7 @@ add_subdirectory(testing)
|
|||||||
add_subdirectory(processing)
|
add_subdirectory(processing)
|
||||||
|
|
||||||
include_directories(SYSTEM
|
include_directories(SYSTEM
|
||||||
${PYTHON_INCLUDE_PATH}
|
${Python_INCLUDE_DIRS}
|
||||||
${SIP_INCLUDE_DIR}
|
${SIP_INCLUDE_DIR}
|
||||||
${QT_QTCORE_INCLUDE_DIR}
|
${QT_QTCORE_INCLUDE_DIR}
|
||||||
${QT_QTGUI_INCLUDE_DIR}
|
${QT_QTGUI_INCLUDE_DIR}
|
||||||
@ -273,7 +273,7 @@ if(WITH_ANALYSIS)
|
|||||||
BUILD_SIP_PYTHON_MODULE(qgis._analysis analysis/analysis.sip ${cpp_files} "" qgis_core qgis_analysis)
|
BUILD_SIP_PYTHON_MODULE(qgis._analysis analysis/analysis.sip ${cpp_files} "" qgis_core qgis_analysis)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(QGIS_PYTHON_DIR ${PYTHON_SITE_PACKAGES_DIR}/qgis)
|
set(QGIS_PYTHON_DIR ${Python_SITEARCH}/qgis)
|
||||||
|
|
||||||
if(WITH_QSCIAPI)
|
if(WITH_QSCIAPI)
|
||||||
# wait until after python module builds for api files to be available
|
# wait until after python module builds for api files to be available
|
||||||
@ -303,7 +303,7 @@ if(WITH_QSCIAPI)
|
|||||||
set(PAP_NAME "pyqgis.pap")
|
set(PAP_NAME "pyqgis.pap")
|
||||||
add_custom_command(TARGET qsci-pap-src
|
add_custom_command(TARGET qsci-pap-src
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${PYTHON_EXECUTABLE} "${APIS_SRC_DIR}/generate_console_pap.py" "${APIS_SRC_DIR}/${PAP_NAME}" "${APIS_SRC_DIR}" "${APIS_BIN_DIR}"
|
COMMAND ${Python_EXECUTABLE} "${APIS_SRC_DIR}/generate_console_pap.py" "${APIS_SRC_DIR}/${PAP_NAME}" "${APIS_SRC_DIR}" "${APIS_BIN_DIR}"
|
||||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||||
COMMENT "Generating ${PAP_NAME} for console auto-completion (MAY TAKE > 1 MINUTE!)" VERBATIM)
|
COMMENT "Generating ${PAP_NAME} for console auto-completion (MAY TAKE > 1 MINUTE!)" VERBATIM)
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
set (QGIS_PYQT_DIR ${PYTHON_SITE_PACKAGES_DIR}/qgis/PyQt)
|
set (QGIS_PYQT_DIR ${Python_SITEARCH}/qgis/PyQt)
|
||||||
set (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python/qgis/PyQt)
|
set (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python/qgis/PyQt)
|
||||||
|
|
||||||
set(PYQT_COMPAT_FILES
|
set(PYQT_COMPAT_FILES
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
|
# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
|
||||||
|
|
||||||
set(QGIS_PYTHON_DIR ${PYTHON_SITE_PACKAGES_DIR}/qgis)
|
set(QGIS_PYTHON_DIR ${Python_SITEARCH}/qgis)
|
||||||
set (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python)
|
set (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python)
|
||||||
set (NAME processing)
|
set (NAME processing)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
|
# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
|
||||||
|
|
||||||
set(QGIS_PYTHON_DIR ${PYTHON_SITE_PACKAGES_DIR}/qgis)
|
set(QGIS_PYTHON_DIR ${Python_SITEARCH}/qgis)
|
||||||
set (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python)
|
set (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python)
|
||||||
|
|
||||||
set(PY_FILES
|
set(PY_FILES
|
||||||
|
@ -783,7 +783,7 @@ endif()
|
|||||||
string(REPLACE "\(" "\\(" JSON_HELP_FILES "${JSON_HELP_FILES}")
|
string(REPLACE "\(" "\\(" JSON_HELP_FILES "${JSON_HELP_FILES}")
|
||||||
string(REPLACE "\)" "\\)" JSON_HELP_FILES "${JSON_HELP_FILES}")
|
string(REPLACE "\)" "\\)" JSON_HELP_FILES "${JSON_HELP_FILES}")
|
||||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgsexpression_texts.cpp
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgsexpression_texts.cpp
|
||||||
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/process_function_template.py ${CMAKE_CURRENT_BINARY_DIR}/qgsexpression_texts.cpp.temp
|
COMMAND ${Python_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/process_function_template.py ${CMAKE_CURRENT_BINARY_DIR}/qgsexpression_texts.cpp.temp
|
||||||
COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_CURRENT_BINARY_DIR}/qgsexpression_texts.cpp.temp -DDST=${CMAKE_CURRENT_BINARY_DIR}/qgsexpression_texts.cpp -P ${CMAKE_SOURCE_DIR}/cmake/CopyIfChanged.cmake
|
COMMAND ${CMAKE_COMMAND} -DSRC=${CMAKE_CURRENT_BINARY_DIR}/qgsexpression_texts.cpp.temp -DDST=${CMAKE_CURRENT_BINARY_DIR}/qgsexpression_texts.cpp -P ${CMAKE_SOURCE_DIR}/cmake/CopyIfChanged.cmake
|
||||||
DEPENDS ${JSON_HELP_FILES}
|
DEPENDS ${JSON_HELP_FILES}
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
@ -10,7 +10,7 @@ target_include_directories(qgispython PUBLIC
|
|||||||
${CMAKE_BINARY_DIR}/src/python
|
${CMAKE_BINARY_DIR}/src/python
|
||||||
)
|
)
|
||||||
target_include_directories(qgispython SYSTEM PRIVATE
|
target_include_directories(qgispython SYSTEM PRIVATE
|
||||||
${PYTHON_INCLUDE_PATH}
|
${Python_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(qgispython PROPERTIES
|
set_target_properties(qgispython PROPERTIES
|
||||||
@ -27,7 +27,7 @@ endif()
|
|||||||
|
|
||||||
target_link_libraries(qgispython
|
target_link_libraries(qgispython
|
||||||
qgis_core
|
qgis_core
|
||||||
${PYTHON_LIBRARY}
|
${Python_LIBRARIES}
|
||||||
${OPENPTY_LIBRARY}
|
${OPENPTY_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user