mirror of
https://github.com/ModOrganizer2/modorganizer-plugin_python.git
synced 2026-07-27 14:03:33 -07:00
Use exact Python version and fix missing DLLs for plugin. (#141)
This commit is contained in:
+16
-3
@@ -4,14 +4,27 @@ cmake_policy(SET CMP0144 NEW)
|
||||
|
||||
project(plugin_python CXX)
|
||||
|
||||
set(Python_FIND_VIRTUALENV STANDARD)
|
||||
# we need mo2-cmake to obtain the Python version, but mo2-cmake will set
|
||||
# CMAKE_MAP_IMPORTED_CONFIG_* which will trigger a tons of CMP0111 warnings for Python
|
||||
# below so we need to reset these before finding Python and then reset them after
|
||||
find_package(mo2-cmake CONFIG REQUIRED)
|
||||
|
||||
set(_CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL ${CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL})
|
||||
set(_CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO ${CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO})
|
||||
set(_CMAKE_MAP_IMPORTED_CONFIG_RELEASE ${CMAKE_MAP_IMPORTED_CONFIG_RELEASE})
|
||||
|
||||
set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL "")
|
||||
set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO "")
|
||||
set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE "")
|
||||
|
||||
# find Python before include mo2-cmake, otherwise this will trigger a bunch of CMP0111
|
||||
# due to the imported configuration mapping variables defined in mo2.cmake
|
||||
find_package(Python ${MO2_PYTHON_VERSION} COMPONENTS Interpreter Development REQUIRED)
|
||||
find_package(Python ${MO2_PYTHON_VERSION} EXACT COMPONENTS Interpreter Development REQUIRED)
|
||||
find_package(pybind11 CONFIG REQUIRED)
|
||||
|
||||
find_package(mo2-cmake CONFIG REQUIRED)
|
||||
set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL ${_CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL})
|
||||
set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO ${_CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO})
|
||||
set(CMAKE_MAP_IMPORTED_CONFIG_RELEASE ${_CMAKE_MAP_IMPORTED_CONFIG_RELEASE})
|
||||
|
||||
get_filename_component(Python_HOME ${Python_EXECUTABLE} PATH)
|
||||
set(Python_DLL_DIR "${Python_HOME}/DLLs")
|
||||
|
||||
@@ -37,7 +37,10 @@ mo2_add_translations(proxy
|
||||
# install DLLs files needed
|
||||
set(DLL_DIRS ${PLUGIN_PYTHON_DIR}/dlls)
|
||||
file(GLOB dlls_to_install
|
||||
# ${PYTHON_BUILD_PATH}/libffi*.dll
|
||||
${Python_HOME}/dlls/libffi*.dll
|
||||
${Python_HOME}/dlls/sqlite*.dll
|
||||
${Python_HOME}/dlls/libssl*.dll
|
||||
${Python_HOME}/dlls/libcrypto*.dll
|
||||
${Python_HOME}/python${Python_VERSION_MAJOR}*.dll)
|
||||
install(FILES ${dlls_to_install} DESTINATION ${DLL_DIRS})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user