Salome HOME
Copyright update 2022
[modules/homard.git] / src / HOMARDGUI / CMakeLists.txt
1 # Copyright (C) 2012-2022  CEA/DEN, 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 INCLUDE(UseQtExt)
21 INCLUDE(UsePyQt)
22
23 # --- options ---
24
25 # additional include directories
26 INCLUDE_DIRECTORIES(
27   ${QT_INCLUDES}
28   ${OpenCASCADE_INCLUDE_DIR}
29   ${PYTHON_INCLUDE_DIRS}
30   ${MEDFILE_INCLUDE_DIRS}
31   ${HDF5_INCLUDE_DIRS}
32   ${OMNIORB_INCLUDE_DIR}
33   ${KERNEL_INCLUDE_DIRS}
34   ${GUI_INCLUDE_DIRS}
35   ${CMAKE_CURRENT_SOURCE_DIR}
36   ${CMAKE_CURRENT_BINARY_DIR}
37   ${PROJECT_BINARY_DIR}
38   ${PROJECT_BINARY_DIR}/idl
39   ${PROJECT_BINARY_DIR}/adm_local/unix
40   ${PROJECT_SOURCE_DIR}/src/HOMARD
41   ${PROJECT_SOURCE_DIR}/src/HOMARD_I
42   ${PROJECT_SOURCE_DIR}/src/FrontTrack
43 )
44
45 # additional preprocessor / compiler flags
46 ADD_DEFINITIONS(
47   ${OMNIORB_DEFINITIONS}
48   ${OpenCASCADE_DEFINITIONS}
49   ${KERNEL_DEFINITIONS}
50 )
51
52 # libraries to link to
53 SET(_link_LIBRARIES
54   ${MEDFILE_C_LIBRARIES}
55   ${KERNEL_SalomeLifeCycleCORBA}
56   ${KERNEL_SalomeDS}
57   ${GUI_SalomeApp}
58   SalomeIDLHOMARD
59   HOMARDEngine
60 )
61
62 # --- resources ---
63
64 # resource files / to be processed by lrelease
65 SET(_ts_RESOURCES
66   HOMARD_msg_en.ts
67   HOMARD_msg_fr.ts
68   HOMARD_msg_ja.ts
69 )
70
71 # resource files / to be processed by uic
72 SET(_uic_FILES
73   CreateBoundaryCAO.ui
74   CreateBoundaryAn.ui
75   CreateBoundaryDi.ui
76   CreateCase.ui
77   CreateHypothesis.ui
78   CreateIteration.ui
79   CreateListGroup.ui
80   CreateYACS.ui
81   CreateZone.ui
82   EditFile.ui
83   IterInfo.ui
84   MeshInfo.ui
85   PursueIteration.ui
86 )
87
88 # --- headers ---
89
90 # header files / to be processed by moc
91 SET(_moc_HEADERS
92   HOMARDGUI.h
93   MonCreateBoundaryCAO.h
94   MonCreateBoundaryAn.h
95   MonCreateBoundaryDi.h
96   MonEditBoundaryCAO.h
97   MonEditBoundaryAn.h
98   MonEditBoundaryDi.h
99   MonCreateCase.h
100   MonEditCase.h
101   MonCreateZone.h
102   MonEditZone.h
103   MonCreateHypothesis.h
104   MonEditHypothesis.h
105   MonCreateListGroup.h
106   MonCreateListGroupCAO.h
107   MonEditListGroup.h
108   MonEditListGroupCAO.h
109   MonCreateIteration.h
110   MonEditIteration.h
111   MonPursueIteration.h
112   MonMeshInfo.h
113   MonIterInfo.h
114   MonCreateYACS.h
115   MonEditYACS.h
116   MonEditFile.h
117 )
118
119 # header files / uic wrappings
120 QT_WRAP_UIC(_uic_HEADERS ${_uic_FILES})
121
122 # header files / static
123 SET(_other_HEADERS
124   HOMARDGUI_Utils.h
125   HomardQtCommun.h
126   HOMARDGUI_Exports.hxx
127 )
128
129 # header files / to install
130 SET(HOMARD_HEADERS ${_other_HEADERS} ${_moc_HEADERS} ${_uic_HEADERS})
131
132 # --- sources ---
133
134 # sources / moc wrappings
135 QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
136
137 # sources / static
138 SET(_other_SOURCES
139   HOMARDGUI.cxx
140   HOMARDGUI_Utils.cxx
141   MonCreateBoundaryCAO.cxx
142   MonCreateBoundaryAn.cxx
143   MonCreateBoundaryDi.cxx
144   MonEditBoundaryCAO.cxx
145   MonEditBoundaryAn.cxx
146   MonEditBoundaryDi.cxx
147   MonCreateCase.cxx
148   MonEditCase.cxx
149   MonCreateHypothesis.cxx
150   MonEditHypothesis.cxx
151   MonCreateListGroup.cxx
152   MonCreateListGroupCAO.cxx
153   MonEditListGroup.cxx
154   MonEditListGroupCAO.cxx
155   MonCreateIteration.cxx
156   MonEditIteration.cxx
157   MonPursueIteration.cxx
158   MonCreateZone.cxx
159   MonEditZone.cxx
160   MonMeshInfo.cxx
161   MonIterInfo.cxx
162   MonCreateYACS.cxx
163   MonEditYACS.cxx
164   MonEditFile.cxx
165   HomardQtCommun.cxx
166 )
167
168 # sources / to compile
169 SET(HOMARD_SOURCES ${_other_SOURCES} ${_moc_SOURCES} ${_uic_HEADERS})
170
171 # --- rules ---
172
173 ADD_LIBRARY(HOMARD ${HOMARD_SOURCES})
174 TARGET_LINK_LIBRARIES(HOMARD ${_link_LIBRARIES} )
175 INSTALL(TARGETS HOMARD EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
176
177 INSTALL(FILES ${HOMARD_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
178 QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_HOMARD_INSTALL_RES_DATA}")