Salome HOME
73af47c62099b2d08914f8e3c718f0d0c97a45f1
[tools/solverlab.git] / CDMATH / swig / CMakeLists.txt
1 INCLUDE(${SWIG_USE_FILE})
2
3 SET(_extra_lib_SWIG)
4 if (CDMATH_WITH_PETSC)
5     INCLUDE_DIRECTORIES(
6       ${PETSC_INCLUDES}
7       ${SLEPC_INCLUDES}
8       ${LINEARSOLVER_DIR}/inc
9     )
10     SET(_extra_lib_SWIG linearsolver ${PETSC_LIBRARIES} ${SLEPC_LIBRARIES})
11     file(COPY cdmath_with_petsc.i DESTINATION ${CMAKE_BINARY_DIR}/swig)
12     file(RENAME ${CMAKE_BINARY_DIR}/swig/cdmath_with_petsc.i ${CMAKE_BINARY_DIR}/swig/cdmath.i)
13 else (CDMATH_WITH_PETSC)
14     file(COPY cdmath_without_petsc.i DESTINATION ${CMAKE_BINARY_DIR}/swig)
15     file(RENAME ${CMAKE_BINARY_DIR}/swig/cdmath_without_petsc.i ${CMAKE_BINARY_DIR}/swig/cdmath.i)
16 endif (CDMATH_WITH_PETSC)
17
18 SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/swig/cdmath.i PROPERTIES CPLUSPLUS ON)
19 SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/swig/cdmath.i PROPERTIES C OFF)
20 SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/swig/cdmath.i PROPERTIES SWIG_DEFINITIONS "-shadow")
21
22 INCLUDE_DIRECTORIES(
23   ${PYTHON_INCLUDE_DIRS}
24   ${MEDCOUPLING_INCLUDE_DIR}
25   ${BASE_DIR}/inc
26   ${MESH_DIR}/inc
27 )
28 IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
29   SWIG_ADD_MODULE(cdmath python ${CMAKE_BINARY_DIR}/swig/cdmath.i)
30 ELSE()
31   SWIG_ADD_LIBRARY(cdmath TYPE SHARED LANGUAGE python SOURCES ${CMAKE_BINARY_DIR}/swig/cdmath.i)
32 ENDIF()
33 SWIG_LINK_LIBRARIES(cdmath ${PYTHON_LIBS} base mesh ${medloader} ${medcoupling} ${_extra_lib_SWIG})
34
35 INSTALL(TARGETS _cdmath DESTINATION lib/cdmath)
36 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/cdmath.py DESTINATION bin/cdmath)
37