diff --git a/CMakeLists.txt b/CMakeLists.txt index d059c0aa3cbb6a0a20b753b9f023cc07722a736e..2def4f3049a681aea118ef2ee2b75ee994895b86 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,6 +226,19 @@ endif() include(UnityBuildSettings) +if(POETRY) + file(STRINGS ${PROJECT_BINARY_DIR}/.python_packages OGS_PYTHON_PACKAGES) + list(REMOVE_DUPLICATES OGS_PYTHON_PACKAGES) + # Hack for tespy requirement + if(${Python3_VERSION} VERSION_LESS 3.10) + set(_python_arg --python <3.9) + endif() + execute_process( + COMMAND ${_CMD_COMMAND} poetry add ${_python_arg} ${OGS_PYTHON_PACKAGES} + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + ) +endif() + file(WRITE ${PROJECT_BINARY_DIR}/disabled-tests.log "${DISABLED_TESTS_LOG}") unset(DISABLED_TESTS_LOG CACHE) # Don't write to CMakeCache.txt diff --git a/ProcessLib/HeatTransportBHE/Tests.cmake b/ProcessLib/HeatTransportBHE/Tests.cmake index 1014e8a7cab11029c70662e7d211c7ea6e71d9ac..36985ca2c2f7def69fda3603529f2b39d206c59e 100644 --- a/ProcessLib/HeatTransportBHE/Tests.cmake +++ b/ProcessLib/HeatTransportBHE/Tests.cmake @@ -92,7 +92,7 @@ if("${Python3_VERSION}" VERSION_LESS 3.9) WRAPPER time TESTER vtkdiff REQUIREMENTS OGS_USE_PYTHON AND NOT OGS_USE_MPI - PYTHON_PACKAGES "TESPy=0.3.2 --python \">=3.6,<3.9\"" + PYTHON_PACKAGES "TESPy=0.3.2" DIFF_DATA 3bhes_1U_ts_10_t_600.000000.vtu 3bhes_1U_ts_10_t_600.000000.vtu temperature_soil temperature_soil 1e-12 1e-13 3bhes_1U_ts_10_t_600.000000.vtu 3bhes_1U_ts_10_t_600.000000.vtu temperature_BHE1 temperature_BHE1 1e-10 1e-13 diff --git a/scripts/cmake/PythonSetup.cmake b/scripts/cmake/PythonSetup.cmake index cbc7f1e2b7c63bd1f4d186d7262b456ec6010d20..73c66c856f914f992dcd2ed4391b2480aa8e54b8 100644 --- a/scripts/cmake/PythonSetup.cmake +++ b/scripts/cmake/PythonSetup.cmake @@ -23,6 +23,12 @@ if(OGS_USE_POETRY) if(MSVC) set(Python3_EXECUTABLE ${Python3_ROOT_DIR}/Scripts/python.exe) endif() + file(WRITE ${PROJECT_BINARY_DIR}/.python_packages "") + if(OGS_BUILD_TESTING) + file(WRITE ${PROJECT_BINARY_DIR}/.python_packages + "snakemake=${ogs.minimum_version.snakemake}\n" + ) + endif() endif() endif() @@ -53,13 +59,3 @@ set(LOCAL_VIRTUALENV_BIN_DIRS ${PROJECT_BINARY_DIR}/.venv/bin ${PROJECT_BINARY_DIR}/.venv/Scripts CACHE INTERNAL "" ) - -if(POETRY) - if(OGS_BUILD_TESTING) - list(APPEND PYTHON_PACKAGES snakemake=${ogs.minimum_version.snakemake}) - endif() - execute_process( - COMMAND ${_CMD_COMMAND} poetry add ${PYTHON_PACKAGES} - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) -endif() diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake index 8399b1a23283a2133de9aa7d49270fa7cd503b9b..b570decd8caa7d912cf15a640048ef2b71b06c3e 100644 --- a/scripts/cmake/test/AddTest.cmake +++ b/scripts/cmake/test/AddTest.cmake @@ -435,16 +435,11 @@ Use six arguments version of AddTest with absolute and relative tolerances" if(AddTest_PYTHON_PACKAGES) if(POETRY) - file(WRITE ${PROJECT_BINARY_DIR}/tmp_poetry_add.bat - "poetry add ${AddTest_PYTHON_PACKAGES}" + string(REPLACE ";" "\n" PYTHON_PACKAGES + "${AddTest_PYTHON_PACKAGES}" ) - if(WIN32) - set(EXEC_CMD tmp_poetry_add.bat) - else() - set(EXEC_CMD ${BASH_TOOL_PATH} tmp_poetry_add.bat) - endif() - execute_process( - COMMAND ${EXEC_CMD} WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + file(APPEND ${PROJECT_BINARY_DIR}/.python_packages + ${PYTHON_PACKAGES} ) else() message( diff --git a/scripts/python/pyproject.in.toml b/scripts/python/pyproject.in.toml index bb061069ef1f95fd81a82dc4ce5036d19fb612dc..0adfb1eeb9b51a59e67beb61ef7e21f89423aada 100644 --- a/scripts/python/pyproject.in.toml +++ b/scripts/python/pyproject.in.toml @@ -5,7 +5,7 @@ description = "CMake auto-generated" authors = [""] [tool.poetry.dependencies] -python = "^@ogs.minimum_version.python@" +python = ">=@ogs.minimum_version.python@" [tool.poetry.dev-dependencies]