Salome HOME
Update of CheckDone
[modules/smesh.git] / src / SMESH_SWIG / CMakeLists.txt
1 # Copyright (C) 2012-2021  CEA/DEN, EDF R&D, 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   ${CMAKE_CURRENT_SOURCE_DIR}
29   ${PROJECT_BINARY_DIR}/idl
30 )
31
32 # scripts / static
33 SET(_bin_SCRIPTS
34   ex00_all.py
35   ex01_cube2build.py
36   ex02_cube2primitive.py
37   ex03_cube2partition.py
38   ex04_cube5tetraHexa.py
39   ex05_hole1build.py
40   ex06_hole1boolean.py
41   ex07_hole1partition.py
42   ex08_hole2build.py
43   ex09_grid4build.py
44   ex10_grid4geometry.py
45   ex11_grid3partition.py
46   ex12_grid17partition.py
47   ex13_hole1partial.py
48   ex14_cyl1holed.py
49   ex15_cyl2geometry.py
50   ex16_cyl2complementary.py
51   ex17_dome1.py
52   ex18_dome2.py
53   ex19_sphereINcube.py
54   ex21_lamp.py
55   ex24_cylinder.py
56   ex29_refine.py
57   ex30_tepal.py
58   ex30_groupsOp.py
59   ex31_dimGroup.py
60   SMESH_test.py
61   SMESH_test0.py
62   SMESH_test1.py
63   SMESH_test1_AndDisplay.py
64   SMESH_test2.py
65   SMESH_test3.py
66   SMESH_test4.py
67   SMESH_test5.py
68   SMESH_mechanic.py
69   SMESH_mechanic_tetra.py
70   SMESH_mechanic_editor.py
71   SMESH_mechanic_netgen.py
72   SMESH_fixation.py
73   SMESH_fixation_hexa.py
74   SMESH_fixation_tetra.py
75   SMESH_fixation_netgen.py
76   SMESH_box_tetra.py
77   SMESH_box2_tetra.py
78   SMESH_box3_tetra.py
79   SMESH_flight_skin.py
80   SMESH_Partition1_tetra.py
81   SMESH_controls.py
82   SMESH_freebord.py
83   SMESH_blocks.py
84   SMESH_BelongToGeom.py
85   SMESH_GroupFromGeom2.py
86   SMESH_box.py
87   SMESH_demo_hexa2_upd.py
88   SMESH_hexaedre.py
89   SMESH_Sphere.py
90   SMESH_GroupFromGeom.py
91   SMESH_Nut.py
92   SMESH_GroupLyingOnGeom.py
93   SMESH_AdvancedEditor.py
94   SMESH_BuildCompound.py
95   PAL_MESH_041_mesh.py
96   PAL_MESH_043_2D.py
97   PAL_MESH_043_3D.py
98   SMESH_reg.py
99   smesh_selection.py
100   YACS_geomesh0.py
101 )
102
103 SET(smesh_SCRIPTS
104   smeshBuilder.py
105   smesh_algorithm.py
106 )
107
108 SET(StdMeshers_SCRIPTS
109   __init__.py
110   StdMeshersBuilder.py
111 )
112
113 # additional preprocessor / compiler flags
114 ADD_DEFINITIONS(${OMNIORB_DEFINITIONS})
115 SET(SMeshHelper_HEADERS SMeshHelper.h SMeshHelper.i)
116 SET(SMeshHelper_SOURCES SMeshHelper.cxx ${SMeshHelper_HEADERS})
117 SET_SOURCE_FILES_PROPERTIES(SMeshHelper.i PROPERTIES CPLUSPLUS ON)
118 SET_SOURCE_FILES_PROPERTIES(SMeshHelper.i PROPERTIES SWIG_FLAGS "-py3")
119 SET_SOURCE_FILES_PROPERTIES(SMeshHelper_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
120 SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/SMeshHelper.py )
121 IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
122   SWIG_ADD_MODULE(SMeshHelper python ${SMeshHelper_SOURCES})
123 ELSE()
124   SWIG_ADD_LIBRARY(SMeshHelper LANGUAGE python SOURCES ${SMeshHelper_SOURCES})
125 ENDIF()
126 SWIG_LINK_LIBRARIES(SMeshHelper ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} SMESHEngine )
127 SWIG_CHECK_GENERATION(SMeshHelper)
128 IF(WIN32)
129   SET_TARGET_PROPERTIES(_SMeshHelper PROPERTIES DEBUG_OUTPUT_NAME _SMeshHelper_d)
130 ENDIF(WIN32)
131 install(TARGETS _SMeshHelper DESTINATION ${SALOME_INSTALL_LIBS})
132 install(FILES ${SMeshHelper_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
133 SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}"  ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_SMeshHelper_REAL_NAME}")
134
135 # --- rules ---
136 SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_PYTHON} DEF_PERMS)
137 SALOME_INSTALL_SCRIPTS("${smesh_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh DEF_PERMS)
138 SALOME_INSTALL_SCRIPTS("${StdMeshers_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/StdMeshers DEF_PERMS)
139 SALOME_INSTALL_SCRIPTS(SMESH_shared_modules.py ${SALOME_INSTALL_PYTHON}/shared_modules DEF_PERMS)