]> SALOME platform Git repositories - modules/gui.git/blob - src/SalomeApp/CMakeLists.txt
Salome HOME
7f9888e46feccbca21acf483a3839830a5b6bef0
[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(GUI_ENABLE_CORBA)
24     ADD_SUBDIRECTORY(Test)
25   ENDIF(GUI_ENABLE_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_INCLUDE_DIRS}
34   ${VTK_INCLUDE_DIRS}
35   ${QWT_INCLUDE_DIRS}
36   ${BOOST_INCLUDE_DIRS}
37   ${PYTHON_INCLUDE_DIRS}
38   ${OMNIORB_INCLUDE_DIRS}
39   ${LIBXML_INCLUDE_DIRS}
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 SET(COMMON_FLAGS "${QT_DEFINITIONS} ${LIBXML_DEFINITIONS} ${CORBA_DEFINITIONS} ${VTK_DEFINITIONS} ${QWT_DEFINITIONS} ${CAS_DEFINITIONS} ${BOOST_DEFINITIONS} ${PYTHON_DEFINITIONS} ${PLATFORM_DEFINITIONS}")
62 SET(COMMON_LIBS 
63   ${PYTHON_LIBS}
64   ${QT_MT_LIBS}
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_LIBRARY(SalomeApp SHARED ${SalomeApp_SOURCES} ${GUI_HEADERS_MOC})
139 SET_TARGET_PROPERTIES(SalomeApp PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
140 TARGET_LINK_LIBRARIES(SalomeApp ${COMMON_LIBS})
141 INSTALL(TARGETS SalomeApp DESTINATION ${GUI_salomelib_LIBS})
142
143 SET(COMMON_HEADERS_H 
144   SalomeApp.h
145   SalomeApp_Application.h
146   SalomeApp_DataModel.h
147   SalomeApp_DataObject.h
148   SalomeApp_LoadStudiesDlg.h
149   SalomeApp_Module.h
150   SalomeApp_Study.h
151   SalomeApp_ExceptionHandler.h
152   SalomeApp_PyInterp.h
153   SalomeApp_Tools.h
154   SalomeApp_ImportOperation.h
155   SalomeApp_Filter.h
156   SalomeApp_TypeFilter.h
157   SalomeApp_StudyPropertiesDlg.h
158   SalomeApp_CheckFileDlg.h
159   SalomeApp_VisualState.h
160   SalomeApp_ExitDlg.h
161   SalomeApp_NoteBook.h
162   SalomeApp_DoubleSpinBox.h
163   SalomeApp_IntSpinBox.h
164   SalomeApp_Engine_i.h
165 )
166
167 INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${GUI_salomeinclude_HEADERS})
168 QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${GUI_salomeres_DATA}")
169
170 FILE(GLOB GUIPNG_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.png")
171 SET(INST_DATA ${GUIPNG_DATA} resources/SalomeApp.ini resources/SalomeApp.xml)
172 INSTALL(FILES ${INST_DATA} DESTINATION ${GUI_salomeres_DATA})
173
174 # python modules
175 SALOME_INSTALL_SCRIPTS("salome_pluginsmanager.py" ${GUI_salomepythondir})
176 SALOME_INSTALL_SCRIPTS("addvars2notebook.py" ${GUI_salomescript_PYTHON})