Salome HOME
Update of CheckDone
[modules/smesh.git] / src / SMESH_SWIG / CMakeLists.txt
1 # Copyright (C) 2012-2024  CEA, EDF, OPEN CASCADE
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
20 include(${SWIG_USE_FILE})
21
22 include_directories(
23   ${PROJECT_SOURCE_DIR}/src/SMESHDS
24   ${PROJECT_SOURCE_DIR}/src/SMESHUtils
25   ${PROJECT_SOURCE_DIR}/src/SMDS
26   ${PROJECT_SOURCE_DIR}/src/SMESH
27   ${PROJECT_SOURCE_DIR}/src/SMESH_I
28   ${PROJECT_SOURCE_DIR}/src/Driver
29   ${PROJECT_SOURCE_DIR}/src/DriverGMF
30   ${CMAKE_CURRENT_SOURCE_DIR}
31   ${PROJECT_BINARY_DIR}/idl
32 )
33
34 # scripts / static
35
36 SET(smesh_SCRIPTS
37   smeshBuilder.py
38   smesh_algorithm.py
39   smesh_selection.py
40   smesh_tools.py
41 )
42
43 SET(smesh_exe_SCRIPTS
44   mesher_launcher.py
45   send_files.py
46 )
47
48 SET(StdMeshers_SCRIPTS
49   __init__.py
50   StdMeshersBuilder.py
51 )
52
53 # additional preprocessor / compiler flags
54 ADD_DEFINITIONS(${OMNIORB_DEFINITIONS})
55 SET(SMeshHelper_HEADERS SMeshHelper.h SMeshHelper.i)
56 SET(SMeshHelper_SOURCES SMeshHelper.cxx ${SMeshHelper_HEADERS})
57 SET_SOURCE_FILES_PROPERTIES(SMeshHelper.i PROPERTIES CPLUSPLUS ON)
58 SET_SOURCE_FILES_PROPERTIES(SMeshHelper.i PROPERTIES SWIG_FLAGS "-py3")
59 SET_SOURCE_FILES_PROPERTIES(SMeshHelper_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
60 SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/SMeshHelper.py )
61 IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
62   SWIG_ADD_MODULE(SMeshHelper python ${SMeshHelper_SOURCES})
63 ELSE()
64   SWIG_ADD_LIBRARY(SMeshHelper LANGUAGE python SOURCES ${SMeshHelper_SOURCES})
65 ENDIF()
66 SWIG_LINK_LIBRARIES(SMeshHelper ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} SMESHEngine MeshDriverGMF )
67 SWIG_CHECK_GENERATION(SMeshHelper)
68 IF(WIN32)
69   SET_TARGET_PROPERTIES(_SMeshHelper PROPERTIES DEBUG_OUTPUT_NAME _SMeshHelper_d)
70 ENDIF(WIN32)
71 install(TARGETS _SMeshHelper DESTINATION ${SALOME_INSTALL_LIBS})
72 install(FILES ${SMeshHelper_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
73 SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}"  ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_SMeshHelper_REAL_NAME}")
74 SALOME_INSTALL_SCRIPTS("${smesh_exe_SCRIPTS}"  ${SALOME_INSTALL_BINS})
75
76 # --- rules ---
77 SALOME_INSTALL_SCRIPTS("${smesh_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh DEF_PERMS)
78 SALOME_INSTALL_SCRIPTS("${StdMeshers_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/StdMeshers DEF_PERMS)