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