Salome HOME
fe73b00e76132c312905148798cc03f136e33012
[modules/gui.git] / src / SalomeApp / CMakeLists.txt
1 # Copyright (C) 2012-2014  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 ADD_SUBDIRECTORY(pluginsdemo)
21 IF(SALOME_BUILD_TESTS)
22    ADD_SUBDIRECTORY(Test)
23 ENDIF()
24
25 INCLUDE(UseQt4Ext)
26 INCLUDE(${VTK_USE_FILE})
27
28 # --- options ---
29
30 # additional include directories
31 INCLUDE_DIRECTORIES(
32   ${CAS_INCLUDE_DIRS}
33   ${QT_INCLUDES}
34   ${QWT_INCLUDE_DIR}
35   ${Boost_INCLUDE_DIRS}
36   ${PYTHON_INCLUDE_DIRS}
37   ${PTHREAD_INCLUDE_DIR}
38   ${OMNIORB_INCLUDE_DIR}
39   ${PROJECT_BINARY_DIR}/idl
40   ${PROJECT_SOURCE_DIR}/src/CAM
41   ${PROJECT_SOURCE_DIR}/src/CASCatch
42   ${PROJECT_SOURCE_DIR}/src/Event
43   ${PROJECT_SOURCE_DIR}/src/LightApp
44   ${PROJECT_SOURCE_DIR}/src/OBJECT
45   ${PROJECT_SOURCE_DIR}/src/ObjBrowser
46   ${PROJECT_SOURCE_DIR}/src/Prs
47   ${PROJECT_SOURCE_DIR}/src/PyConsole
48   ${PROJECT_SOURCE_DIR}/src/PyInterp
49   ${PROJECT_SOURCE_DIR}/src/Qtx
50   ${PROJECT_SOURCE_DIR}/src/STD
51   ${PROJECT_SOURCE_DIR}/src/SUIT
52   ${PROJECT_SOURCE_DIR}/src/SVTK
53   ${PROJECT_SOURCE_DIR}/src/Session
54   ${PROJECT_SOURCE_DIR}/src/TOOLSGUI
55   ${PROJECT_SOURCE_DIR}/src/VTKViewer
56 )
57
58 # additional preprocessor / compiler flags
59 ADD_DEFINITIONS(
60   ${QT_DEFINITIONS}
61   ${OMNIORB_DEFINITIONS}
62   ${QWT_DEFINITIONS}
63   ${CAS_DEFINITIONS}
64   ${BOOST_DEFINITIONS}
65   ${PYTHON_DEFINITIONS}
66 )
67
68 # libraries to link to
69 SET(_link_LIBRARIES
70   ${CAS_KERNEL}
71   ${QT_LIBRARIES}
72   ${PYTHON_LIBRARIES}
73   ${KERNEL_OpUtil} ${KERNEL_SALOMELocalTrace} ${KERNEL_SalomeDSClient} ${KERNEL_TOOLSDS}
74   CASCatch suit std CAM ObjBrowser SalomePrs PyInterp PyConsole Event
75   GLViewer Plot2d OCCViewer VTKViewer SalomeObject SPlot2d SOCC SVTK
76   LogWindow LightApp SalomePrs ToolsGUI SalomeSession
77 )
78
79 # --- headers ---
80
81 # header files / to be processed by moc
82 SET(_moc_HEADERS   
83   SalomeApp_Application.h
84   SalomeApp_CheckFileDlg.h
85   SalomeApp_DataModel.h
86   SalomeApp_DoubleSpinBox.h
87   SalomeApp_ExitDlg.h
88   SalomeApp_IntSpinBox.h
89   SalomeApp_ListView.h
90   SalomeApp_LoadStudiesDlg.h
91   SalomeApp_Module.h
92   SalomeApp_NoteBook.h
93   SalomeApp_Study.h
94   SalomeApp_StudyPropertiesDlg.h
95 )
96
97 # header files / no moc processing
98 SET(_other_HEADERS
99   SalomeApp.h
100   SalomeApp_DataObject.h
101   SalomeApp_Engine_i.h
102   SalomeApp_ExceptionHandler.h
103   SalomeApp_Filter.h
104   SalomeApp_ImportOperation.h
105   SalomeApp_PyInterp.h
106   SalomeApp_Tools.h
107   SalomeApp_TypeFilter.h
108   SalomeApp_VisualState.h
109 )
110
111 # header files / to install
112 SET(SalomeApp_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
113
114 # --- resources ---
115
116 # resource files / to be processed by lrelease
117 SET(_ts_RESOURCES
118   resources/SalomeApp_images.ts
119   resources/SalomeApp_msg_en.ts
120   resources/SalomeApp_msg_fr.ts
121   resources/SalomeApp_msg_ja.ts
122 )
123
124 # resource files / static
125 SET(_other_RESOURCES
126   resources/SalomeApp.ini
127   resources/SalomeApp.xml
128 )
129
130 # --- sources ---
131
132 # sources / moc wrappings
133 QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
134
135 # sources / static
136 SET(_other_SOURCES
137   SalomeApp_Application.cxx
138   SalomeApp_CheckFileDlg.cxx
139   SalomeApp_DataModel.cxx
140   SalomeApp_DataObject.cxx
141   SalomeApp_DoubleSpinBox.cxx
142   SalomeApp_Engine_i.cxx
143   SalomeApp_ExceptionHandler.cxx
144   SalomeApp_ExitDlg.cxx
145   SalomeApp_Filter.cxx
146   SalomeApp_ImportOperation.cxx
147   SalomeApp_IntSpinBox.cxx
148   SalomeApp_ListView.cxx
149   SalomeApp_LoadStudiesDlg.cxx
150   SalomeApp_Module.cxx
151   SalomeApp_NoteBook.cxx
152   SalomeApp_PyInterp.cxx
153   SalomeApp_Study.cxx
154   SalomeApp_StudyPropertiesDlg.cxx
155   SalomeApp_Tools.cxx
156   SalomeApp_TypeFilter.cxx
157   SalomeApp_VisualState.cxx
158 )
159
160 # sources / to compile
161 SET(SalomeApp_SOURCES ${_other_SOURCES} ${_moc_SOURCES})
162
163 # --- scripts ---
164
165 # scripts / bin
166 SET(_bin_SCRIPTS
167   addvars2notebook.py
168 )
169
170 # scripts / python
171 SET(_py_SCRIPTS
172   salome_pluginsmanager.py
173 )
174
175 # --- rules ---
176
177 ADD_LIBRARY(SalomeApp ${SalomeApp_SOURCES})
178 TARGET_LINK_LIBRARIES(SalomeApp ${_link_LIBRARIES})
179 INSTALL(TARGETS SalomeApp EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
180
181 INSTALL(FILES ${SalomeApp_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
182 QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}")
183
184 INSTALL(FILES ${_other_RESOURCES} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA})
185
186 SALOME_INSTALL_SCRIPTS("${_py_SCRIPTS}"  ${SALOME_INSTALL_PYTHON})
187 SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON})