-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSetupMumps.cmake
More file actions
34 lines (28 loc) · 1.18 KB
/
Copy pathSetupMumps.cmake
File metadata and controls
34 lines (28 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
if (NOT DEFINED MUMPS_VERSION)
set(MUMPS_VERSION "5.9.0")
endif()
if(WIN32)
set(VENV_PYTHONDIR "Scripts")
else()
set(VENV_PYTHONDIR "bin")
endif()
if (NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/.venv")
find_package(Python3 REQUIRED COMPONENTS Interpreter)
message(STATUS "Using local virtual environment")
execute_process(
COMMAND ${Python3_EXECUTABLE} -m venv ${CMAKE_CURRENT_SOURCE_DIR}/.venv
COMMAND_ECHO STDOUT)
execute_process(
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/.venv/${VENV_PYTHONDIR}/python -m pip install -r ${CMAKE_CURRENT_SOURCE_DIR}/buildutilities/requirements.txt
COMMAND_ECHO STDOUT)
endif()
message(STATUS "Configuring MUMPS version ${MUMPS_VERSION}")
set(PYTHONEXE "${CMAKE_CURRENT_SOURCE_DIR}/.venv/${VENV_PYTHONDIR}/python")
execute_process(COMMAND ${PYTHONEXE} ${CMAKE_CURRENT_SOURCE_DIR}/buildutilities/Driver.py ${MUMPS_VERSION} --output ${CMAKE_CURRENT_BINARY_DIR}
COMMAND_ECHO STDOUT
ERROR_VARIABLE error_output
RESULT_VARIABLE res)
if (NOT res EQUAL 0)
message(FATAL_ERROR "Error configuring MUMPS: ${error_output}")
endif()
set(MUMPS_ROOT "${CMAKE_CURRENT_BINARY_DIR}/MUMPS_${MUMPS_VERSION}")