QGIS/python/ext-libs/CMakeLists.txt
Denis Rouzaud da08c8a435
[cmake] generalize Python output directory in UseTest macro (#43191)
* [cmake] generalize Python output directory in UseTest macro

this is helpful in case we set up another python output directory (eg PySide2)

* define python output directories to the parent scope

* try with target_include_directories

* define vars on top level

* Update UsePythonTest.cmake

* some cleanup

* more cleanup

* fix uic

* fix path for all platforms

* fix var
2021-05-13 07:32:03 +02:00

29 lines
1.0 KiB
CMake

# See ../CMakeLists.txt for info on staged-plugins* and clean-staged-plugins targets
set (QGIS_PYTHON_DIR ${QGIS_DATA_DIR}/python)
macro(EXT_PYLIB lib enable_by_default)
string(TOUPPER ${lib} ulib)
set (WITH_INTERNAL_${ulib} ${enable_by_default} CACHE BOOL "Determines whether python ${lib} should be included")
if(WITH_INTERNAL_${ulib})
install(DIRECTORY ${lib} DESTINATION "${QGIS_PYTHON_DIR}")
add_custom_target(py${lib})
file(GLOB_RECURSE files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${lib}/*)
add_custom_command(TARGET py${lib}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${lib} "${PYTHON_OUTPUT_DIRECTORY}/${lib}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS ${files}
)
PY_COMPILE(py${lib} "${PYTHON_OUTPUT_DIRECTORY}/${lib}")
add_dependencies(staged-plugins py${lib})
add_custom_command(TARGET clean-staged-plugins
COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_OUTPUT_DIRECTORY}/${lib}"
)
endif()
endmacro(EXT_PYLIB lib)