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