2020-10-08 12:50:42 -05:00
|
|
|
# NOTE: we assume that add_subdirectory( pybind11 ) is called from the
|
|
|
|
# parent folder's CMakeLists.txt before this CMakeLists.txt is loaded.
|
|
|
|
# Therefore, pybind11's CMakeLists.txt has already run
|
|
|
|
# find_package(PYTHON) to define variables like
|
|
|
|
# ${PYTHON_EXECUTABLE}
|
|
|
|
#
|
2021-03-15 15:41:11 -05:00
|
|
|
|
|
|
|
pybind11_add_module(simulators simulators.cpp ${PYBIND11_SYSTEM})
|
2020-04-22 14:22:35 -05:00
|
|
|
|
|
|
|
set_target_properties( simulators PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/python/opm2 )
|
|
|
|
|
|
|
|
target_sources(simulators
|
|
|
|
PRIVATE
|
2020-09-25 04:06:31 -05:00
|
|
|
$<TARGET_OBJECTS:moduleVersion>
|
|
|
|
$<TARGET_OBJECTS:flow_libblackoil>)
|
2020-04-22 14:22:35 -05:00
|
|
|
|
|
|
|
target_link_libraries( simulators PRIVATE opmsimulators )
|
|
|
|
|
2020-04-28 14:17:55 -05:00
|
|
|
set(PYTHON_PACKAGE_PATH "site-packages")
|
|
|
|
set(PYTHON_INSTALL_PREFIX "lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/${PYTHON_PACKAGE_PATH}" CACHE STRING "Subdirectory to install Python modules in")
|
|
|
|
|
2020-04-29 17:22:17 -05:00
|
|
|
install(TARGETS simulators DESTINATION ${DEST_PREFIX}${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_PREFIX}/opm)
|
2020-10-08 12:50:42 -05:00
|
|
|
|
|
|
|
file( COPY ${PROJECT_SOURCE_DIR}/python/test
|
|
|
|
DESTINATION ${PROJECT_BINARY_DIR}/python)
|
|
|
|
file( COPY ${PROJECT_SOURCE_DIR}/python/test_data
|
|
|
|
DESTINATION ${PROJECT_BINARY_DIR}/python)
|
|
|
|
|
2020-11-18 02:42:39 -06:00
|
|
|
if(OPM_ENABLE_PYTHON_TESTS)
|
2021-03-15 15:41:11 -05:00
|
|
|
if(Python3_EXECUTABLE AND NOT PYTHON_EXECUTABLE)
|
|
|
|
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
|
|
|
|
endif()
|
2020-11-18 02:42:39 -06:00
|
|
|
add_test(NAME python_tests
|
|
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/python
|
|
|
|
COMMAND ${CMAKE_COMMAND}
|
|
|
|
-E env PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH}
|
|
|
|
${PYTHON_EXECUTABLE} -m unittest )
|
|
|
|
endif()
|