Salome HOME
5418df21f4ce077a5a7093c64e372b90facef115
[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_NoteBookDlg.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_NoteBookDlg.cxx
127   SalomeApp_DoubleSpinBox.cxx
128   SalomeApp_IntSpinBox.cxx
129 )
130
131 SET(GUITS_SOURCES
132   resources/SalomeApp_images.ts
133   resources/SalomeApp_msg_en.ts
134   resources/SalomeApp_msg_fr.ts
135 )
136
137 ADD_LIBRARY(SalomeApp SHARED ${SalomeApp_SOURCES} ${GUI_HEADERS_MOC})
138 SET_TARGET_PROPERTIES(SalomeApp PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
139 TARGET_LINK_LIBRARIES(SalomeApp ${COMMON_LIBS})
140 INSTALL(TARGETS SalomeApp DESTINATION ${GUI_salomelib_LIBS})
141
142 SET(COMMON_HEADERS_H 
143   SalomeApp.h
144   SalomeApp_Application.h
145   SalomeApp_DataModel.h
146   SalomeApp_DataObject.h
147   SalomeApp_LoadStudiesDlg.h
148   SalomeApp_Module.h
149   SalomeApp_Study.h
150   SalomeApp_ExceptionHandler.h
151   SalomeApp_PyInterp.h
152   SalomeApp_Tools.h
153   SalomeApp_ImportOperation.h
154   SalomeApp_Filter.h
155   SalomeApp_TypeFilter.h
156   SalomeApp_StudyPropertiesDlg.h
157   SalomeApp_CheckFileDlg.h
158   SalomeApp_VisualState.h
159   SalomeApp_ExitDlg.h
160   SalomeApp_NoteBookDlg.h
161   SalomeApp_DoubleSpinBox.h
162   SalomeApp_IntSpinBox.h
163 )
164
165 INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${GUI_salomeinclude_HEADERS})
166 QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${GUI_salomeres_DATA}")
167
168 FILE(GLOB GUIPNG_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.png")
169 SET(INST_DATA ${GUIPNG_DATA} resources/SalomeApp.ini resources/SalomeApp.xml)
170 INSTALL(FILES ${INST_DATA} DESTINATION ${GUI_salomeres_DATA})
171
172 # python modules
173 SALOME_INSTALL_SCRIPTS("salome_pluginsmanager.py" ${GUI_salomepythondir})
174 SALOME_INSTALL_SCRIPTS("addvars2notebook.py" ${GUI_salomescript_PYTHON})