diff --git a/Applications/ApplicationsLib/CMakeLists.txt b/Applications/ApplicationsLib/CMakeLists.txt index dd3feb419ba09ecd7b051efd7f62f0f16b8753e6..e446674da71a1d67ac88933d621a4b316da444bc 100644 --- a/Applications/ApplicationsLib/CMakeLists.txt +++ b/Applications/ApplicationsLib/CMakeLists.txt @@ -7,7 +7,8 @@ ogs_add_library(ApplicationsLib ${LIB_SOURCES}) target_link_libraries(ApplicationsLib PUBLIC BaseLib GeoLib NumLib Processes - PRIVATE MathLib + PRIVATE CMakeInfoLib + MathLib MeshLib MeshGeoToolsLib ParameterLib diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp index 5e45b588975f7d28c04f9fd285bea47a214110ff..81703eace73cb69df404e3f6444e30a2b80c7815 100644 --- a/Applications/ApplicationsLib/ProjectData.cpp +++ b/Applications/ApplicationsLib/ProjectData.cpp @@ -15,7 +15,6 @@ #include <algorithm> #include <cctype> -#include "BaseLib/Logging.h" #include <set> #ifdef OGS_USE_PYTHON @@ -25,8 +24,10 @@ #include "BaseLib/Algorithm.h" #include "BaseLib/ConfigTree.h" #include "BaseLib/FileTools.h" +#include "BaseLib/Logging.h" #include "BaseLib/StringTools.h" #include "GeoLib/GEOObjects.h" +#include "InfoLib/CMakeInfo.h" #include "MaterialLib/MPL/CreateMedium.h" #include "MathLib/Curve/CreatePiecewiseLinearCurve.h" #include "MeshGeoToolsLib/ConstructMeshesFromGeometries.h" @@ -275,9 +276,12 @@ ProjectData::ProjectData(BaseLib::ConfigTree const& project_config, #ifdef OGS_USE_PYTHON namespace py = pybind11; - // Append project's directory to python's module search path. - py::module::import("sys").attr("path").attr("append")( - project_directory); + // Append to python's module search path + auto py_path = py::module::import("sys").attr("path"); + py_path.attr("append")(project_directory); // .prj directory + // virtualenv + py_path.attr("append")( + CMakeInfoLib::CMakeInfo::python_virtualenv_sitepackages); auto const script_path = BaseLib::copyPathToFileName(*python_script, project_directory); diff --git a/InfoLib/CMakeInfo.cpp.in b/InfoLib/CMakeInfo.cpp.in index bc28b2a72ae07c26e7f2724a2579faa0f2e2397a..77d6c8260487a24b253c85499747950d4aa6f05a 100644 --- a/InfoLib/CMakeInfo.cpp.in +++ b/InfoLib/CMakeInfo.cpp.in @@ -17,6 +17,7 @@ namespace CMakeInfoLib namespace CMakeInfo { + const std::string python_virtualenv_sitepackages("@Python3_VIRTUALENV_SITEPACKAGES@"); const std::string cmake_args("@CMAKE_ARGS_ESCAPED@"); } } diff --git a/InfoLib/CMakeInfo.h b/InfoLib/CMakeInfo.h index 6933e19f770d241fb22867920f580718d29a0055..128a1e31c5ee6392d692ae7e393a8eda664ead4e 100644 --- a/InfoLib/CMakeInfo.h +++ b/InfoLib/CMakeInfo.h @@ -21,6 +21,7 @@ namespace CMakeInfoLib namespace CMakeInfo { + extern CMAKEINFOLIB_EXPORT const std::string python_virtualenv_sitepackages; extern CMAKEINFOLIB_EXPORT const std::string cmake_args; } // namespace } // namespace