OpenDroneMap-ODM/SuperBuild/cmake/External-PDALPython.cmake

42 wiersze
1.6 KiB
CMake

set(_proj_name pdal-python)
set(_SB_BINARY_DIR "${SB_BINARY_DIR}/${_proj_name}")
if (WIN32)
set(PP_EXTRA_ARGS -DPYTHON3_EXECUTABLE=${PYTHON_EXE_PATH}
-DPython3_NumPy_INCLUDE_DIRS=${PYTHON_HOME}/lib/site-packages/numpy/core/include)
endif()
execute_process(COMMAND ${PYTHON_EXE_PATH} "-V" OUTPUT_VARIABLE PYTHON_VERSION)
string(STRIP ${PYTHON_VERSION} PYTHON_VERSION)
if(NOT (${PYTHON_VERSION} MATCHES "Python 3.8.1"))
message(FATAL_ERROR "Python 3.8.1 is bundled with ODM. To avoid version mismatches in built PDALPython libraries, please ensure this exact version is used during the build. Detected version: ${PYTHON_VERSION} (at ${PYTHON_EXE_PATH}).")
endif()
ExternalProject_Add(${_proj_name}
DEPENDS pdal
PREFIX ${_SB_BINARY_DIR}
TMP_DIR ${_SB_BINARY_DIR}/tmp
STAMP_DIR ${_SB_BINARY_DIR}/stamp
#--Download step--------------
DOWNLOAD_DIR ${SB_DOWNLOAD_DIR}
GIT_REPOSITORY https://github.com/OpenDroneMap/pdal-python
GIT_TAG main
#--Update/Patch step----------
UPDATE_COMMAND ""
#--Configure step-------------
SOURCE_DIR ${SB_SOURCE_DIR}/${_proj_name}
CMAKE_ARGS
-DPDAL_DIR=${SB_INSTALL_DIR}/lib/cmake/PDAL
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${SB_INSTALL_DIR}/lib/python3.8/dist-packages
${WIN32_CMAKE_ARGS}
${PP_EXTRA_ARGS}
#--Build step-----------------
BINARY_DIR ${_SB_BINARY_DIR}
#--Install step---------------
INSTALL_DIR ${SB_INSTALL_DIR}
#--Output logging-------------
LOG_DOWNLOAD OFF
LOG_CONFIGURE OFF
LOG_BUILD OFF
)