Salome HOME
cc571a991cf50a7f2ce497b152754e7cd7877be3
[modules/hexablock.git] / src / HEXABLOCK / CMakeLists.txt
1 # Copyright (C) 2012-2023  CEA, EDF
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 # --- options ---
21 # additional include directories
22 INCLUDE_DIRECTORIES(
23   ${KERNEL_INCLUDE_DIRS}
24   ${PYTHON_INCLUDE_DIRS}
25   ${OpenCASCADE_INCLUDE_DIR}
26   ${GEOM_INCLUDE_DIRS}
27   ${Boost_INCLUDE_DIRS}
28   ${OMNIORB_INCLUDE_DIR}
29   ${PROJECT_BINARY_DIR}/idl
30 )
31
32 # additional preprocessor / compiler flags
33 ADD_DEFINITIONS(
34   ${KERNEL_DEFINITIONS}
35   ${OpenCASCADE_DEFINITIONS}
36   ${BOOST_DEFINITIONS}
37 )
38
39 # libraries to link to
40 SET(_link_LIBRARIES
41   TKBRep
42   TKPrim
43   TKG3d
44   TKG2d
45   TKTopAlgo
46   TKGeomBase
47   TKGeomAlgo
48   TKBool
49   TKBO
50   ${KERNEL_SALOMELocalTrace}
51   ${KERNEL_SALOMEBasics}
52   ${PYTHON_LIBRARIES}
53 )
54
55 # --- headers ---
56
57 # header files
58 SET(HEXABLOCKEngine_HEADERS
59   HexGroup.hxx
60   HexEdge.hxx
61   HexGlobale.hxx
62   HexPropagation.hxx
63   HexVector.hxx
64   HexXmlWriter.hxx
65   hexa_base.hxx
66   HexDiagnostics.hxx
67   HexElements.hxx
68   HexHexa.hxx
69   HexMatrix.hxx
70   HexQuad.hxx
71   HexQpattern.hxx
72   HexVertex.hxx
73   HexLaw.hxx
74   HexCloner.hxx
75   HexDocument.hxx
76   HexEltBase.hxx
77   Hex.hxx
78   HexShape.hxx
79   HexOldShape.hxx
80   HexNewShape.hxx
81   HexSubShape.hxx
82   HexVertexShape.hxx
83   HexEdgeShape.hxx
84   HexFaceShape.hxx
85   HexBiCylinderShape.hxx
86   HexAssoEdge.hxx
87   HexXmlTree.hxx
88   HexBiCylinder.hxx
89   HexDumpStudy.hxx
90   HexAnaQuads.hxx
91   HexKas_functions.hxx
92   HexWitness.hxx
93   HexCramer.hxx
94   Hex_defines.hxx 
95 )
96
97 # --- sources ---
98
99 # sources / static
100 SET(HEXABLOCKEngine_SOURCES
101   hexa_utils.cxx
102   HexEltBase.cxx
103   HexGlobale.cxx
104   HexCloner.cxx
105   HexVertex.cxx
106   HexEdge.cxx
107   HexQuad.cxx
108   HexQpattern.cxx
109   HexHexa.cxx
110   HexHexa_disco.cxx
111   HexVector.cxx
112   HexElements.cxx
113   HexElements_bis.cxx
114   HexElements_ter.cxx
115   HexElements_piq.cxx
116   HexElements_asso.cxx
117   HexElements_grid.cxx
118   HexGroup.cxx
119   HexLaw.cxx
120   HexShape.cxx
121   HexNewShape.cxx
122   HexSubShape.cxx
123   HexDocument_trans.cxx
124   HexDocument_tools.cxx
125   HexVertexShape.cxx
126   HexEdgeShape.cxx
127   HexFaceShape.cxx
128   HexBiCylinderShape.cxx
129   HexAssoEdge.cxx
130   HexDocument_Xml.cxx
131   HexDocument.cxx
132   HexXmlTree.cxx
133   HexXmlWriter.cxx
134   HexDumpStudy.cxx
135   HexBiCylinder.cxx
136   Hex.cxx
137   HexDocument_asso.cxx
138   HexDocument_quads.cxx
139   HexDocument_skin.cxx
140   HexDocument_v6.cxx
141   HexElements_v6.cxx
142   HexElements_check.cxx
143   HexWitness.cxx
144   Hex_salome.cxx
145   test_unit.hxx
146   test_hexa6.cxx
147   HexKas_functions.cxx   
148 )
149
150 # --- rules ---
151
152 ADD_LIBRARY(HEXABLOCKEngine ${HEXABLOCKEngine_SOURCES})
153 TARGET_LINK_LIBRARIES(HEXABLOCKEngine ${_link_LIBRARIES} )
154 INSTALL(TARGETS HEXABLOCKEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
155
156 INSTALL(FILES ${HEXABLOCKEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})