]> SALOME platform Git repositories - tools/medcoupling.git/blob - src/MEDLoader/Swig/CMakeLists.txt
Salome HOME
267be68823455d3b01fc6c099f597a3cc08ce9f4
[tools/medcoupling.git] / src / MEDLoader / Swig / CMakeLists.txt
1 # Copyright (C) 2012-2016  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19 # Author : Anthony Geay (CEA/DEN)
20
21 FIND_PACKAGE(SWIG REQUIRED)
22 INCLUDE(${SWIG_USE_FILE})
23
24 ADD_DEFINITIONS(${PYTHON_DEFINITIONS} ${NUMPY_DEFINITIONS} ${SCIPY_DEFINITIONS})
25
26 SET_SOURCE_FILES_PROPERTIES(MEDLoader.i PROPERTIES CPLUSPLUS ON)
27 IF ("${PYTHON_VERSION_MAJOR}" STREQUAL "3")
28   SET_SOURCE_FILES_PROPERTIES(MEDLoader.i PROPERTIES SWIG_FLAGS "-py3")
29 ELSE()
30   SET_SOURCE_FILES_PROPERTIES(MEDLoader.i PROPERTIES SWIG_DEFINITIONS "-shadow")
31 ENDIF()
32 SET(SWIG_MODULE_MEDLoader_EXTRA_FLAGS "${NUMPY_DEFINITIONS};${SCIPY_DEFINITIONS}")
33
34 SET (MEDLoader_SWIG_DPYS_FILES
35     MEDLoaderCommon.i
36     MEDLoaderTypemaps.i)
37
38 INCLUDE_DIRECTORIES(
39   ${PYTHON_INCLUDE_DIRS}
40   ${NUMPY_INCLUDE_DIR}
41   ${MEDFILE_INCLUDE_DIRS}
42   ${HDF5_INCLUDE_DIRS}
43   ${CMAKE_CURRENT_SOURCE_DIR}
44   ${CMAKE_CURRENT_SOURCE_DIR}/..
45   ${CMAKE_CURRENT_SOURCE_DIR}/../../MEDCoupling_Swig
46   ${CMAKE_CURRENT_SOURCE_DIR}/../../MEDCoupling
47   ${CMAKE_CURRENT_SOURCE_DIR}/../../INTERP_KERNEL
48   ${CMAKE_CURRENT_SOURCE_DIR}/../../INTERP_KERNEL/Bases
49   ${CMAKE_CURRENT_SOURCE_DIR}/../../INTERP_KERNEL/Geometric2D
50   ${CMAKE_CURRENT_SOURCE_DIR}/../../INTERP_KERNEL/ExprEval
51   ${CMAKE_CURRENT_SOURCE_DIR}/../../INTERP_KERNEL/GaussPoints
52   ${PROJECT_BINARY_DIR}/doc
53 )
54
55 SET (SWIG_MODULE_MEDLoader_EXTRA_DEPS ${MEDLoader_SWIG_DPYS_FILES}
56     ${medloader_HEADERS_HXX}
57     ${medcoupling_HEADERS_HXX} ${medcoupling_HEADERS_TXX}
58     ${interpkernel_HEADERS_HXX} ${interpkernel_HEADERS_TXX})
59
60 # SWIG must run after the doc if we want to have the docstrings extracted from Doxygen
61 # into the Python module:
62 IF(MEDCOUPLING_BUILD_DOC)
63     LIST(APPEND SWIG_MODULE_MEDLoader_EXTRA_FLAGS -DWITH_DOCSTRINGS)
64     LIST(APPEND SWIG_MODULE_MEDLoader_EXTRA_DEPS
65         ${PROJECT_BINARY_DIR}/doc/MEDLoader_doc.i
66         swig_ready)
67 ENDIF()
68
69 SWIG_ADD_MODULE(MEDLoader python MEDLoader.i)
70 SWIG_LINK_LIBRARIES(MEDLoader ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} medloader medcoupling)
71 IF(WIN32)
72   SET_TARGET_PROPERTIES(_MEDLoader PROPERTIES DEBUG_OUTPUT_NAME _MEDLoader_d)
73 ENDIF(WIN32)
74
75 INSTALL(TARGETS _MEDLoader DESTINATION ${MEDCOUPLING_INSTALL_PYTHON})
76 INSTALL(FILES MEDLoader.i MEDLoaderTypemaps.i MEDLoaderCommon.i DESTINATION ${MEDCOUPLING_INSTALL_HEADERS})
77
78 SALOME_INSTALL_SCRIPTS(${CMAKE_CURRENT_BINARY_DIR}/MEDLoader.py ${MEDCOUPLING_INSTALL_PYTHON})
79
80 INSTALL(FILES MEDLoaderSplitter.py DESTINATION ${MEDCOUPLING_INSTALL_PYTHON})
81
82 INSTALL(FILES MEDLoaderDataForTest.py MEDLoaderTest1.py MEDLoaderTest2.py MEDLoaderTest3.py MEDLoaderTest123.py MEDLoaderTest4.py SauvLoaderTest.py MEDLoaderExamplesTest.py MEDLoaderCouplingTrainingSession.py CaseIO.py CaseReader.py CaseWriter.py VTKReader.py medutilities.py DESTINATION ${MEDCOUPLING_INSTALL_SCRIPT_SCRIPTS})
83
84 INSTALL(FILES med2sauv PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ DESTINATION ${MEDCOUPLING_INSTALL_BINS} )
85 INSTALL(FILES sauv2med PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ DESTINATION ${MEDCOUPLING_INSTALL_BINS} )
86 INSTALL(FILES case2med PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ DESTINATION ${MEDCOUPLING_INSTALL_BINS} )
87 INSTALL(FILES med2case PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ DESTINATION ${MEDCOUPLING_INSTALL_BINS} )
88 INSTALL(FILES ConvertMEDFileTo30.py PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ DESTINATION ${MEDCOUPLING_INSTALL_BINS} )
89
90 SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
91
92 ADD_TEST(MEDLoaderTest1_2_3 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/MEDLoaderTest123.py)
93 SET_TESTS_PROPERTIES(MEDLoaderTest1_2_3 PROPERTIES ENVIRONMENT "${tests_env}")
94
95 ADD_TEST(MEDLoaderTest4 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/MEDLoaderTest4.py)
96 SET_TESTS_PROPERTIES(MEDLoaderTest4 PROPERTIES ENVIRONMENT "${tests_env}")
97
98 ADD_TEST(MEDLoaderExamplesTest ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/MEDLoaderExamplesTest.py)
99 SET_TESTS_PROPERTIES(MEDLoaderExamplesTest PROPERTIES ENVIRONMENT "${tests_env}")
100 ADD_TEST(SauvLoaderTest ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/SauvLoaderTest.py)
101 SET_TESTS_PROPERTIES(SauvLoaderTest PROPERTIES ENVIRONMENT "${tests_env}")
102
103 IF(NUMPY_FOUND)
104   # Add Remapper to the Python path:
105   SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH "${CMAKE_CURRENT_BINARY_DIR}/../../MEDCoupling_Swig")
106   SALOME_GENERATE_TESTS_ENVIRONMENT(tests_env)
107   ADD_TEST(MEDLoaderCouplingTrainingSession ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/MEDLoaderCouplingTrainingSession.py)
108   SET_TESTS_PROPERTIES(MEDLoaderCouplingTrainingSession PROPERTIES ENVIRONMENT "${tests_env}")
109 ENDIF(NUMPY_FOUND)
110
111 # Application tests
112
113 SET(TEST_INSTALL_DIRECTORY ${MEDCOUPLING_INSTALL_TESTS}/MEDLoader_Swig)
114
115 SET(MEDLOADER_TEST_FILES
116     MEDLoaderDataForTest.py
117     MEDLoaderTest123.py
118     MEDLoaderTest1.py
119     MEDLoaderTest2.py
120     MEDLoaderTest3.py
121     MEDLoaderTest4.py
122     SauvLoaderTest.py
123     MEDLoaderExamplesTest.py
124     MEDLoaderCouplingTrainingSession.py
125     CaseIO.py
126     CaseReader.py
127     CaseWriter.py
128     VTKReader.py
129     MEDLoaderSplitter.py
130     medutilities.py
131 )
132
133 INSTALL(FILES ${MEDLOADER_TEST_FILES} DESTINATION ${TEST_INSTALL_DIRECTORY})
134
135 INSTALL(FILES CTestTestfileInstall.cmake
136         DESTINATION ${TEST_INSTALL_DIRECTORY}
137         RENAME CTestTestfile.cmake)