Salome HOME
Merge branch 'V9_9_BR'
[modules/smesh.git] / src / Tools / MeshCut / CMakeLists.txt
1 # Copyright (C) 2012-2022  EDF R&D
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 IF(SALOME_BUILD_GUI)
21   INCLUDE(UsePyQt)
22 ENDIF(SALOME_BUILD_GUI)
23
24 # --- options ---
25 # additional include directories
26 INCLUDE_DIRECTORIES(
27   ${MEDFILE_INCLUDE_DIRS}
28   ${MEDFILE_INCLUDE_DIRS}
29   ${HDF5_INCLUDE_DIRS}
30 )
31
32 # libraries to link to
33 SET(_link_LIBRARIES
34   ${HDF5_LIBRARIES}
35   ${MEDFILE_C_LIBRARIES}
36 )
37
38 # --- scripts ---
39
40 # scripts / static
41 SET(_plugin_SCRIPTS
42   meshcut_plugin.py
43 )
44
45 # bin programs
46 SET(MeshCut_SOURCES
47   MeshCut_Globals.hxx
48   MeshCut_Carre.hxx
49   MeshCut_Carre.cxx
50   MeshCut_Cube.hxx
51   MeshCut_Cube.cxx
52   MeshCut_Maillage.hxx
53   MeshCut_Maillage.cxx
54   MeshCut_Fonctions.hxx
55   MeshCut_Fonctions.cxx
56   MeshCut_Utils.hxx
57   MeshCut_Utils.cxx
58   MeshCut_Cas.hxx
59   MeshCut_Cas.cxx
60   MeshCut_DC.cxx
61 )
62
63 IF(SALOME_BUILD_GUI)
64   # uic files / to be processed by pyuic
65   SET(_pyuic_FILES
66     MeshCutDialog.ui
67   )
68   # scripts / pyuic wrappings
69   PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
70 ENDIF(SALOME_BUILD_GUI)
71
72 # --- rules ---
73
74 SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
75
76 ADD_EXECUTABLE(MeshCut ${MeshCut_SOURCES})
77 TARGET_LINK_LIBRARIES(MeshCut ${_link_LIBRARIES})
78 INSTALL(TARGETS MeshCut EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
79
80 IF(SALOME_BUILD_GUI)
81   SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_BINS} TARGET_NAME _target_name_pyuic_py)
82   # add dependency of compiled py files on uic files in order
83   # to avoid races problems when compiling in parallel
84   ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
85 ENDIF(SALOME_BUILD_GUI)