diff --git a/CMakeLists.txt b/CMakeLists.txt index b3c2726..c55827a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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") diff --git a/src/proxy/CMakeLists.txt b/src/proxy/CMakeLists.txt index c37b219..be59295 100644 --- a/src/proxy/CMakeLists.txt +++ b/src/proxy/CMakeLists.txt @@ -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})