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