]> SALOME platform Git repositories - tools/solverlab.git/blob - CoreFlows/swig/CMakeLists.txt
Salome HOME
Added mpi4py in python module
[tools/solverlab.git] / CoreFlows / swig / CMakeLists.txt
1 INCLUDE(${SWIG_USE_FILE})
2
3 SET_SOURCE_FILES_PROPERTIES(CoreFlows.i PROPERTIES CPLUSPLUS ON)
4 SET_SOURCE_FILES_PROPERTIES(CoreFlows.i PROPERTIES C OFF)
5 SET_SOURCE_FILES_PROPERTIES(CoreFlows.i PROPERTIES SWIG_DEFINITIONS "-shadow")
6
7 INCLUDE_DIRECTORIES(
8   ${Python_INCLUDE_DIRS}
9   ${CoreFlows_INCLUDES}                                                                                     #
10   ${PETSC_INCLUDES}
11   ${SLEPC_INCLUDES}
12 )
13
14 IF(    ${SOLVERLAB_WITH_MPI} )
15   INCLUDE_DIRECTORIES(
16     ${Python_INCLUDE_DIRS}
17     ${CoreFlows_INCLUDES}                                                                                           #
18     ${PETSC_INCLUDES}
19     ${SLEPC_INCLUDES}
20     ${MPI4PY_ROOT_DIR}/include/
21   ) 
22 ENDIF( ${SOLVERLAB_WITH_MPI} )
23
24 IF   (${CMAKE_VERSION} VERSION_LESS "3.8.0") 
25   SWIG_ADD_MODULE(CoreFlows python CoreFlows.i)
26 ELSE (${CMAKE_VERSION} VERSION_LESS "3.8.0") 
27   SWIG_ADD_LIBRARY(CoreFlows TYPE SHARED LANGUAGE python SOURCES CoreFlows.i)
28 ENDIF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
29
30 SWIG_LINK_LIBRARIES(CoreFlows ${Python_LIBRARIES} ${CDMATH_LIBRARIES} CoreFlowsLibs ${PETSC_LIBRARIES} ${SLEPC_LIBRARIES})
31
32 INSTALL(TARGETS _CoreFlows DESTINATION lib/coreflows)
33 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CoreFlows.py DESTINATION bin/coreflows)
34 INSTALL(FILES ${CoreFlows_SOURCE_DIR}/mainCoreFlows.py DESTINATION bin/)
35
36 if(    SOLVERLAB_WITH_PYTHON )
37   INCLUDE_DIRECTORIES(
38     ${Python_INCLUDE_DIRS}
39     ${PROJECT_BINARY_DIR}/../CDMATH/swig                                                                                            #    
40   )
41
42   file(COPY solverlab.i DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
43   SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/solverlab.i PROPERTIES CPLUSPLUS ON)
44   SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/solverlab.i PROPERTIES C OFF)
45   SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/solverlab.i PROPERTIES SWIG_DEFINITIONS "-shadow")
46   SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/solverlab.i PROPERTIES DEPENDS _cdmath)
47   SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/solverlab.i PROPERTIES DEPENDS _CoreFlows)
48
49   SWIG_ADD_LIBRARY(solverlab TYPE SHARED LANGUAGE python SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverlab.i )
50   SWIG_LINK_LIBRARIES(solverlab ${Python_LIBRARIES} ${CDMATH_LIBRARIES} CoreFlowsLibs ${PETSC_LIBRARIES} ${SLEPC_LIBRARIES})
51
52   INSTALL(TARGETS _solverlab DESTINATION lib)
53   INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/solverlab.py DESTINATION bin)
54 endif( SOLVERLAB_WITH_PYTHON )
55
56