diff --git a/CMakeLists.txt b/CMakeLists.txt index d059c0aa3cbb6a0a20b753b9f023cc07722a736e..d9f417fe3785c91e87342dfbeb651c6a9160a58c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,6 +226,15 @@ endif() include(UnityBuildSettings) +if(POETRY) + file(STRINGS ${PROJECT_BINARY_DIR}/.python_packages OGS_PYTHON_PACKAGES) + list(REMOVE_DUPLICATES OGS_PYTHON_PACKAGES) + execute_process( + COMMAND ${_CMD_COMMAND} poetry add ${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/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(