Salome HOME
a7bdab4451bda2c38291f83500b9a1dbe22a5a28
[modules/gui.git] / src / SalomeApp / CMakeLists.txt
1 # Copyright (C) 2012  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
22 IF(CPPUNIT_IS_OK)
23   IF(SALOME_USE_CORBA)
24     ADD_SUBDIRECTORY(Test)
25   ENDIF(SALOME_USE_CORBA)
26 ENDIF(CPPUNIT_IS_OK)
27
28 INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/UseQT4EXT.cmake)
29 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/SalomeMacros.cmake)
30
31 INCLUDE_DIRECTORIES(
32   ${CAS_INCLUDE_DIRS}
33   ${QT_INCLUDES}
34   ${VTK_INCLUDE_DIRS}
35   ${QWT_INCLUDE_DIR}
36   ${BOOST_INCLUDE_DIRS}
37   ${PYTHON_INCLUDE_DIRS}
38   ${OMNIORB_INCLUDE_DIR}
39   ${LIBXML2_INCLUDE_DIR}
40   ${PTHREAD_INCLUDE_DIRS}
41   ${KERNEL_ROOT_DIR}/include/salome
42   ${CMAKE_CURRENT_SOURCE_DIR}/../LightApp
43   ${CMAKE_CURRENT_SOURCE_DIR}/../CAM
44   ${CMAKE_CURRENT_SOURCE_DIR}/../Qtx
45   ${CMAKE_CURRENT_SOURCE_DIR}/../SUIT
46   ${CMAKE_CURRENT_SOURCE_DIR}/../OBJECT
47   ${CMAKE_CURRENT_SOURCE_DIR}/../SVTK
48   ${CMAKE_CURRENT_SOURCE_DIR}/../STD
49   ${CMAKE_CURRENT_SOURCE_DIR}/../VTKViewer
50   ${CMAKE_CURRENT_SOURCE_DIR}/../ObjBrowser
51   ${CMAKE_CURRENT_SOURCE_DIR}/../PyConsole
52   ${CMAKE_CURRENT_SOURCE_DIR}/../TOOLSGUI
53   ${CMAKE_CURRENT_SOURCE_DIR}/../PyInterp
54   ${CMAKE_CURRENT_SOURCE_DIR}/../Session
55   ${CMAKE_BINARY_DIR}/idl
56   ${CMAKE_CURRENT_SOURCE_DIR}/../Event
57   ${CMAKE_CURRENT_SOURCE_DIR}/../CASCatch
58   ${CMAKE_CURRENT_SOURCE_DIR}/../Prs
59 )
60
61
62 SET(COMMON_LIBS 
63   ${PYTHON_LIBRARIES}
64   ${QT_LIBRARIES}
65   ${OpUtil}
66   ${SALOMELocalTrace}
67   ${SalomeDSClient}
68   suit
69   std
70   CAM
71   ObjBrowser
72   SalomePrs
73   SPlot2d
74   GLViewer
75   OCCViewer
76   VTKViewer
77   SalomeObject
78   SVTK
79   SOCC
80   PyInterp
81   PyConsole
82   LogWindow
83   LightApp
84   ToolsGUI
85   SalomeSession
86   Event
87   CASCatch
88   SalomePrs
89   ${CAS_KERNEL}
90 )
91
92 SET(GUI_HEADERS   
93   SalomeApp_Application.h
94   SalomeApp_DataModel.h
95   SalomeApp_Module.h
96   SalomeApp_LoadStudiesDlg.h
97   SalomeApp_Study.h
98   SalomeApp_StudyPropertiesDlg.h
99   SalomeApp_ListView.h
100   SalomeApp_CheckFileDlg.h
101   SalomeApp_ExitDlg.h
102   SalomeApp_NoteBook.h
103   SalomeApp_DoubleSpinBox.h
104   SalomeApp_IntSpinBox.h
105 )
106 QT4_WRAP_CPP(GUI_HEADERS_MOC ${GUI_HEADERS})
107
108 SET(SalomeApp_SOURCES
109   SalomeApp_Module.cxx
110   SalomeApp_Application.cxx
111   SalomeApp_DataModel.cxx
112   SalomeApp_DataObject.cxx
113   SalomeApp_LoadStudiesDlg.cxx
114   SalomeApp_Study.cxx
115   SalomeApp_ExceptionHandler.cxx
116   SalomeApp_PyInterp.cxx
117   SalomeApp_Tools.cxx
118   SalomeApp_ImportOperation.cxx
119   SalomeApp_Filter.cxx
120   SalomeApp_TypeFilter.cxx
121   SalomeApp_StudyPropertiesDlg.cxx
122   SalomeApp_ListView.cxx
123   SalomeApp_CheckFileDlg.cxx
124   SalomeApp_VisualState.cxx
125   SalomeApp_ExitDlg.cxx
126   SalomeApp_NoteBook.cxx
127   SalomeApp_DoubleSpinBox.cxx
128   SalomeApp_IntSpinBox.cxx
129   SalomeApp_Engine_i.cxx
130 )
131
132 SET(GUITS_SOURCES
133   resources/SalomeApp_images.ts
134   resources/SalomeApp_msg_en.ts
135   resources/SalomeApp_msg_fr.ts
136 )
137
138 ADD_DEFINITIONS(${QT_DEFINITIONS} ${LIBXML2_DEFINITIONS} ${OMNIORB_DEFINITIONS} ${VTK_DEFINITIONS} ${QWT_DEFINITIONS} ${CAS_DEFINITIONS} ${BOOST_DEFINITIONS} ${PYTHON_DEFINITIONS})
139
140 ADD_LIBRARY(SalomeApp ${SalomeApp_SOURCES} ${GUI_HEADERS_MOC})
141 TARGET_LINK_LIBRARIES(SalomeApp ${COMMON_LIBS})
142 INSTALL(TARGETS SalomeApp DESTINATION ${GUI_salomelib_LIBS})
143
144 SET(COMMON_HEADERS_H 
145   SalomeApp.h
146   SalomeApp_Application.h
147   SalomeApp_DataModel.h
148   SalomeApp_DataObject.h
149   SalomeApp_LoadStudiesDlg.h
150   SalomeApp_Module.h
151   SalomeApp_Study.h
152   SalomeApp_ExceptionHandler.h
153   SalomeApp_PyInterp.h
154   SalomeApp_Tools.h
155   SalomeApp_ImportOperation.h
156   SalomeApp_Filter.h
157   SalomeApp_TypeFilter.h
158   SalomeApp_StudyPropertiesDlg.h
159   SalomeApp_CheckFileDlg.h
160   SalomeApp_VisualState.h
161   SalomeApp_ExitDlg.h
162   SalomeApp_NoteBook.h
163   SalomeApp_DoubleSpinBox.h
164   SalomeApp_IntSpinBox.h
165   SalomeApp_Engine_i.h
166 )
167
168 INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${GUI_salomeinclude_HEADERS})
169 QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${GUI_salomeres_DATA}")
170
171 FILE(GLOB GUIPNG_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.png")
172 SET(INST_DATA ${GUIPNG_DATA} resources/SalomeApp.ini resources/SalomeApp.xml)
173 INSTALL(FILES ${INST_DATA} DESTINATION ${GUI_salomeres_DATA})
174
175 # python modules
176 SALOME_INSTALL_SCRIPTS("salome_pluginsmanager.py" ${GUI_salomepythondir})
177 SALOME_INSTALL_SCRIPTS("addvars2notebook.py" ${GUI_salomescript_PYTHON})