mirror of
https://github.com/ModOrganizer2/modorganizer-plugin_python.git
synced 2026-07-27 14:03:33 -07:00
46 lines
1.6 KiB
CMake
46 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.22)
|
|
|
|
# setting-up the tests for the runner is a bit complex because we need a tons of
|
|
# things
|
|
|
|
# first we configure the tests as with other tests
|
|
add_executable(runner-tests EXCLUDE_FROM_ALL)
|
|
mo2_configure_tests(runner-tests WARNINGS OFF)
|
|
|
|
set_target_properties(runner-tests PROPERTIES FOLDER tests/runner)
|
|
|
|
# add mocks
|
|
target_include_directories(runner-tests
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../mocks)
|
|
|
|
# link to runner
|
|
target_link_libraries(runner-tests PUBLIC runner)
|
|
|
|
set(PYLIB_DIR ${CMAKE_CURRENT_BINARY_DIR}/pylibs)
|
|
mo2_python_pip_install(runner-tests
|
|
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/pylibs
|
|
PACKAGES
|
|
pytest
|
|
PyQt${QT_MAJOR_VERSION}==${QT_VERSION}
|
|
PyQt${QT_MAJOR_VERSION}-Qt${QT_MAJOR_VERSION}==${QT_VERSION})
|
|
|
|
add_dependencies(runner-tests mobase)
|
|
|
|
# we set multiple properties, including:
|
|
# - updated PATH for DLLs (Qt, etc.), Python and runner
|
|
# - PYTHONPATH
|
|
|
|
set(pythoncore "${PYTHON_ROOT}/PCbuild/amd64/pythoncore")
|
|
set(pythoncorezip "${pythoncore}/python${Python_VERSION_SHORT}.zip")
|
|
set(PYTHONPATH "${PYLIB_DIR}\\;$<TARGET_FILE_DIR:mobase>\\;${pythoncore}\\;${pythoncorezip}")
|
|
|
|
set(extra_paths "${MO2_INSTALL_PATH}/bin/dlls")
|
|
string(APPEND extra_paths "\\;${PYTHON_ROOT}/PCbuild/amd64")
|
|
string(APPEND extra_paths "\\;$<TARGET_FILE_DIR:runner>")
|
|
set_tests_properties(${runner-tests_gtests}
|
|
PROPERTIES
|
|
WORKING_DIRECTORY "${MO2_INSTALL_PATH}/bin"
|
|
ENVIRONMENT "PLUGIN_DIR=${CMAKE_CURRENT_SOURCE_DIR}/plugins"
|
|
ENVIRONMENT_MODIFICATION
|
|
"PATH=path_list_prepend:${extra_paths};PYTHONPATH=set:${PYTHONPATH}")
|