2015-08-01 09:40:32 +02:00
|
|
|
if (NOT PYTHONINTERP_FOUND)
|
|
|
|
|
find_package (PythonInterp REQUIRED)
|
|
|
|
|
endif ()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function(add_python_package target package_path source_files install_package)
|
|
|
|
|
|
|
|
|
|
set(build_files "")
|
|
|
|
|
|
|
|
|
|
foreach (file ${source_files} )
|
|
|
|
|
set( source_file ${CMAKE_CURRENT_SOURCE_DIR}/${file} )
|
|
|
|
|
set( build_file ${PROJECT_BINARY_DIR}/${package_path}/${file} )
|
|
|
|
|
set( install_file ${CMAKE_INSTALL_PREFIX}/${package_path}/${file} )
|
|
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
OUTPUT ${build_file}
|
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE}
|
|
|
|
|
ARGS ${PROJECT_SOURCE_DIR}/opm/parser/eclipse/python/cmake/cmake_pyc ${source_file} ${build_file}
|
|
|
|
|
DEPENDS ${source_file} )
|
|
|
|
|
|
|
|
|
|
list(APPEND build_files ${build_file} )
|
|
|
|
|
|
|
|
|
|
if (install_package)
|
|
|
|
|
install(FILES ${build_file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${package_path})
|
|
|
|
|
install(CODE "execute_process(COMMAND ${PROJECT_SOURCE_DIR}/cmake/cmake_pyc_file ${install_file})")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
endforeach()
|
|
|
|
|
add_custom_target( ${target} ALL DEPENDS ${build_files})
|
|
|
|
|
|
|
|
|
|
endfunction()
|
|
|
|
|
|
|
|
|
|
|
2016-09-28 18:52:05 +02:00
|
|
|
function(add_python_module target package_path module_file install_package)
|
|
|
|
|
set (source_list ${module_file})
|
|
|
|
|
add_python_package( ${target} ${package_path} ${source_list} ${install_package})
|
|
|
|
|
endfunction()
|
|
|
|
|
|
2015-08-01 09:40:32 +02:00
|
|
|
#-----------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function (addPythonTest TEST_NAME TEST_CLASS)
|
|
|
|
|
set(oneValueArgs LABELS)
|
|
|
|
|
set(multiValueArgs ARGUMENTS ENVIRONMENT)
|
|
|
|
|
cmake_parse_arguments(TEST_OPTIONS "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
|
|
|
|
|
|
|
|
add_test(NAME python.tests.${TEST_NAME}
|
|
|
|
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/${PYTHON_INSTALL_PREFIX}
|
|
|
|
|
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/opm/parser/eclipse/python/cmake/ctest_run_python ${PROJECT_BINARY_DIR}/${PYTHON_INSTALL_PREFIX} ${TEST_CLASS} ${TEST_OPTIONS_ARGUMENTS})
|
|
|
|
|
|
|
|
|
|
if(TEST_OPTIONS_LABELS)
|
|
|
|
|
set_property(TEST python.tests.${TEST_NAME} PROPERTY LABELS "Python:${TEST_OPTIONS_LABELS}")
|
|
|
|
|
else()
|
|
|
|
|
set_property(TEST python.tests.${TEST_NAME} PROPERTY LABELS "Python")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(TEST_OPTIONS_ENVIRONMENT)
|
|
|
|
|
set_property(TEST python.tests.${TEST_NAME} PROPERTY ENVIRONMENT ${TEST_OPTIONS_ENVIRONMENT})
|
|
|
|
|
endif()
|
2016-10-04 15:27:39 +02:00
|
|
|
set_property(TEST python.tests.${TEST_NAME} PROPERTY ENVIRONMENT "PYTHONPATH=${CWRAP_PYTHON_PATH}:${PYTHONPATH}")
|
2015-08-01 09:40:32 +02:00
|
|
|
endfunction(addPythonTest)
|