Salome HOME
CMake: replacing CMAKE_* variables by PROJECT_* variables.
[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
22 IF(NOT SALOME_LIGHT_ONLY AND SALOME_BUILD_TESTS)
23    ADD_SUBDIRECTORY(Test)
24 ENDIF()
25
26 INCLUDE(UseQt4Ext)
27 INCLUDE(${VTK_USE_FILE})
28
29 INCLUDE_DIRECTORIES(
30   ${CAS_INCLUDE_DIRS}
31   ${QT_INCLUDES}
32   ${QWT_INCLUDE_DIR}
33   ${Boost_INCLUDE_DIRS}
34   ${PYTHON_INCLUDE_DIRS}
35   ${OMNIORB_INCLUDE_DIR}
36   ${LIBXML2_INCLUDE_DIR}
37   ${PTHREAD_INCLUDE_DIRS}
38   ${KERNEL_INCLUDE_DIRS}
39   ${CMAKE_CURRENT_SOURCE_DIR}/../LightApp
40   ${CMAKE_CURRENT_SOURCE_DIR}/../CAM
41   ${CMAKE_CURRENT_SOURCE_DIR}/../Qtx
42   ${CMAKE_CURRENT_SOURCE_DIR}/../SUIT
43   ${CMAKE_CURRENT_SOURCE_DIR}/../OBJECT
44   ${CMAKE_CURRENT_SOURCE_DIR}/../SVTK
45   ${CMAKE_CURRENT_SOURCE_DIR}/../STD
46   ${CMAKE_CURRENT_SOURCE_DIR}/../VTKViewer
47   ${CMAKE_CURRENT_SOURCE_DIR}/../ObjBrowser
48   ${CMAKE_CURRENT_SOURCE_DIR}/../PyConsole
49   ${CMAKE_CURRENT_SOURCE_DIR}/../TOOLSGUI
50   ${CMAKE_CURRENT_SOURCE_DIR}/../PyInterp
51   ${CMAKE_CURRENT_SOURCE_DIR}/../Session
52   ${PROJECT_BINARY_DIR}/idl
53   ${CMAKE_CURRENT_SOURCE_DIR}/../Event
54   ${CMAKE_CURRENT_SOURCE_DIR}/../CASCatch
55   ${CMAKE_CURRENT_SOURCE_DIR}/../Prs
56 )
57
58
59 SET(COMMON_LIBS 
60   ${PYTHON_LIBRARIES}
61   ${QT_LIBRARIES}
62   ${OpUtil}
63   ${SALOMELocalTrace}
64   ${SalomeDSClient}
65   suit
66   std
67   CAM
68   ObjBrowser
69   SalomePrs
70   SPlot2d
71   GLViewer
72   OCCViewer
73   VTKViewer
74   SalomeObject
75   SVTK
76   SOCC
77   PyInterp
78   PyConsole
79   LogWindow
80   LightApp
81   ToolsGUI
82   SalomeSession
83   Event
84   CASCatch
85   SalomePrs
86   ${CAS_KERNEL}
87 )
88
89 SET(GUI_HEADERS   
90   SalomeApp_Application.h
91   SalomeApp_DataModel.h
92   SalomeApp_Module.h
93   SalomeApp_LoadStudiesDlg.h
94   SalomeApp_Study.h
95   SalomeApp_StudyPropertiesDlg.h
96   SalomeApp_ListView.h
97   SalomeApp_CheckFileDlg.h
98   SalomeApp_ExitDlg.h
99   SalomeApp_NoteBook.h
100   SalomeApp_DoubleSpinBox.h
101   SalomeApp_IntSpinBox.h
102 )
103 QT4_WRAP_CPP(GUI_HEADERS_MOC ${GUI_HEADERS})
104
105 SET(SalomeApp_SOURCES
106   SalomeApp_Module.cxx
107   SalomeApp_Application.cxx
108   SalomeApp_DataModel.cxx
109   SalomeApp_DataObject.cxx
110   SalomeApp_LoadStudiesDlg.cxx
111   SalomeApp_Study.cxx
112   SalomeApp_ExceptionHandler.cxx
113   SalomeApp_PyInterp.cxx
114   SalomeApp_Tools.cxx
115   SalomeApp_ImportOperation.cxx
116   SalomeApp_Filter.cxx
117   SalomeApp_TypeFilter.cxx
118   SalomeApp_StudyPropertiesDlg.cxx
119   SalomeApp_ListView.cxx
120   SalomeApp_CheckFileDlg.cxx
121   SalomeApp_VisualState.cxx
122   SalomeApp_ExitDlg.cxx
123   SalomeApp_NoteBook.cxx
124   SalomeApp_DoubleSpinBox.cxx
125   SalomeApp_IntSpinBox.cxx
126   SalomeApp_Engine_i.cxx
127 )
128
129 SET(GUITS_SOURCES
130   resources/SalomeApp_images.ts
131   resources/SalomeApp_msg_en.ts
132   resources/SalomeApp_msg_fr.ts
133 )
134
135 ADD_DEFINITIONS(${QT_DEFINITIONS} ${LIBXML2_DEFINITIONS} ${OMNIORB_DEFINITIONS} ${QWT_DEFINITIONS} ${CAS_DEFINITIONS} ${BOOST_DEFINITIONS} ${PYTHON_DEFINITIONS})
136
137 ADD_LIBRARY(SalomeApp ${SalomeApp_SOURCES} ${GUI_HEADERS_MOC})
138 TARGET_LINK_LIBRARIES(SalomeApp ${COMMON_LIBS})
139 INSTALL(TARGETS SalomeApp EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
140
141 SET(COMMON_HEADERS_H 
142   SalomeApp.h
143   SalomeApp_Application.h
144   SalomeApp_DataModel.h
145   SalomeApp_DataObject.h
146   SalomeApp_LoadStudiesDlg.h
147   SalomeApp_Module.h
148   SalomeApp_Study.h
149   SalomeApp_ExceptionHandler.h
150   SalomeApp_PyInterp.h
151   SalomeApp_Tools.h
152   SalomeApp_ImportOperation.h
153   SalomeApp_Filter.h
154   SalomeApp_TypeFilter.h
155   SalomeApp_StudyPropertiesDlg.h
156   SalomeApp_CheckFileDlg.h
157   SalomeApp_VisualState.h
158   SalomeApp_ExitDlg.h
159   SalomeApp_NoteBook.h
160   SalomeApp_DoubleSpinBox.h
161   SalomeApp_IntSpinBox.h
162   SalomeApp_Engine_i.h
163 )
164
165 INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${SALOME_INSTALL_HEADERS})
166 QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${SALOME_GUI_INSTALL_RES_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 ${SALOME_GUI_INSTALL_RES_DATA})
171
172 # python modules
173 SALOME_INSTALL_SCRIPTS("salome_pluginsmanager.py" ${SALOME_INSTALL_PYTHON})
174 SALOME_INSTALL_SCRIPTS("addvars2notebook.py" ${SALOME_INSTALL_SCRIPT_PYTHON})