Salome HOME
2 servant implementations of GEOM::GEOM_GEN. One with Study and ModuleCatalog retrive...
[modules/geom.git] / src / GEOM_SWIG / CMakeLists.txt
1 # Copyright (C) 2012-2020  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_BINARY_DIR}/idl
24   ${PROJECT_SOURCE_DIR}/src/GEOMUtils
25   ${PROJECT_SOURCE_DIR}/src/GEOMAlgo
26   ${PROJECT_SOURCE_DIR}/src/GEOM
27   ${PROJECT_SOURCE_DIR}/src/GEOMImpl
28   ${PROJECT_SOURCE_DIR}/src/GEOM_I
29 )
30
31 # --- scripts ---
32
33 # scripts / samples,data
34 SET(_other_SCRIPTS
35   GEOM_Spanner.py
36   GEOM_blocks.py
37   GEOM_example.py
38   GEOM_example2.py
39   GEOM_example3.py
40   GEOM_example4.py
41   GEOM_example5.py
42   GEOM_example6.py
43   GEOM_example7.py
44   GEOM_moteur.py
45   GEOM_TestAll.py
46   GEOM_TestField.py
47   GEOM_TestOthers.py
48   GEOM_TestHealing.py
49   GEOM_TestMeasures.py
50   GEOM_usinggeom.py
51   GEOM_Partition1.py
52   GEOM_Partition2.py
53   GEOM_Partition3.py
54   GEOM_Partition4.py
55   GEOM_Partition5.py
56   GEOM_cyl2complementary.py
57   GEOM_shellSolid.py
58   GEOM_tube_geom.py
59   GEOM_tube_geom_gg2.py
60   GEOM_Nut.py
61   GEOM_Sketcher.py
62   GEOM_ObjectInfo.py
63   PAL_MESH_019_020_geometry.py
64   PAL_MESH_028_geometry.py
65   PAL_MESH_030_geometry.py
66   PAL_MESH_033_geometry.py
67   PAL_MESH_035_geometry.py
68   )
69
70 # scripts / python
71
72 SET(_python_SCRIPTS
73   geomBuilder.py
74   gsketcher.py
75   )
76
77 # Advanced scripts
78
79 SET(_python_advanced_SCRIPTS
80   AdvancedGEOMBuilder.py
81   __init__.py
82 )
83
84 # STL plugin scripts
85
86 SET(_python_STL_SCRIPTS
87   STLPluginBuilder.py
88   __init__.py
89 )
90
91 # BREP plugin scripts
92
93 SET(_python_BREP_SCRIPTS
94   BREPPluginBuilder.py
95   __init__.py
96 )
97
98 # STEP plugin scripts
99
100 SET(_python_STEP_SCRIPTS
101   STEPPluginBuilder.py
102   __init__.py
103 )
104
105 # IGES plugin scripts
106
107 SET(_python_IGES_SCRIPTS
108   IGESPluginBuilder.py
109   __init__.py
110 )
111
112 # XAO plugin scripts
113
114 SET(_python_XAO_SCRIPTS
115   XAOPluginBuilder.py
116   __init__.py
117 )
118
119 # VTK plugin scripts
120
121 SET(_python_VTK_SCRIPTS
122   VTKPluginBuilder.py
123   __init__.py
124 )
125
126 # scripts / shared
127
128 SET(_shared_SCRIPTS
129   GEOM_shared_modules.py
130   )
131
132
133 SET(GeomHelper_HEADERS GeomHelper.h GeomHelper.i)
134 SET(GeomHelper_SOURCES GeomHelper.cxx ${GeomHelper_HEADERS})
135 SET_SOURCE_FILES_PROPERTIES(GeomHelper.i PROPERTIES CPLUSPLUS ON)
136 SET_SOURCE_FILES_PROPERTIES(GeomHelper.i PROPERTIES SWIG_FLAGS "-py3")
137 SET_SOURCE_FILES_PROPERTIES(GeomHelper_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
138 SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/GeomHelper.py )
139 IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
140   SWIG_ADD_MODULE(GeomHelper python ${GeomHelper_SOURCES})
141 ELSE()
142   SWIG_ADD_LIBRARY(GeomHelper LANGUAGE python SOURCES ${GeomHelper_SOURCES})
143 ENDIF()
144 SWIG_LINK_LIBRARIES(GeomHelper ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} GEOMEngine ${KERNEL_SalomeKernelHelpers} ${KERNEL_SalomeDS} )
145 install(TARGETS _GeomHelper DESTINATION ${SALOME_INSTALL_LIBS})
146 install(FILES ${GeomHelper_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
147 SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}"  ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_GeomHelper_REAL_NAME}")
148
149 # --- rules ---
150
151 SALOME_INSTALL_SCRIPTS("${_other_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_DATA} DEF_PERMS)
152 SALOME_INSTALL_SCRIPTS("${_shared_SCRIPTS}" ${SALOME_INSTALL_PYTHON_SHARED} DEF_PERMS)
153 SALOME_INSTALL_SCRIPTS("${_python_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/geom DEF_PERMS)
154
155 # Install plugin scripts
156 SALOME_INSTALL_SCRIPTS("${_python_advanced_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/AdvancedGEOM DEF_PERMS)
157 SALOME_INSTALL_SCRIPTS("${_python_STL_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/STLPlugin DEF_PERMS)
158 SALOME_INSTALL_SCRIPTS("${_python_BREP_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/BREPPlugin DEF_PERMS)
159 SALOME_INSTALL_SCRIPTS("${_python_STEP_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/STEPPlugin DEF_PERMS)
160 SALOME_INSTALL_SCRIPTS("${_python_IGES_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/IGESPlugin DEF_PERMS)
161 SALOME_INSTALL_SCRIPTS("${_python_XAO_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/XAOPlugin DEF_PERMS)
162 IF(SALOME_GEOM_USE_VTK)
163   SALOME_INSTALL_SCRIPTS("${_python_VTK_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/VTKPlugin DEF_PERMS)
164 ENDIF(SALOME_GEOM_USE_VTK)