1 # Copyright (C) 2010-2012 CEA/DEN, EDF R&D
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.
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.
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
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 SET(VERSION_INFO ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MAINTENANCE})
21 SET(SOVERSION_INFO ${VERSION_MAJOR}.${VERSION_MINOR})
23 ADD_DEFINITIONS(-DHAVE_SALOME_CONFIG)
24 INCLUDE_DIRECTORIES(${OMNIORB_INCLUDE_DIRS} ${KERNEL_ROOT_DIR}/include/salome ${CMAKE_CURRENT_SOURCE_DIR}/../ParaView ${CMAKE_BINARY_DIR}/idl ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
31 ADD_DEFINITIONS(-DWITH_VISU)
40 SET(vtkWrapIDL_HH_CPPFLAGS
44 SET(vtkWrapIDL_CC_CPPFLAGS
50 INCLUDE(${ParaView_CMAKE_DIR}/vtkClientServer.cmake)
51 VTK_WRAP_ClientServer(vtkEDFCutterCS vtkEDFCutter_SRCS ${GUI_ROOT_DIR}/include/salome/vtkEDFCutter.h)
54 SET(dist_libPARAVIS_la_SOURCES
57 PVGUI_Module_actions.cxx
58 PVGUI_Module_widgets.cxx
65 PVGUI_OutputWindowAdapter.h
66 PVGUI_OutputWindowAdapter.cxx
69 PVGUI_ParaViewSettingsPane.h
70 PVGUI_ParaViewSettingsPane.cxx
79 PARAVIS_CreateClass.cxx
83 # Check ParaView documentation file existence
84 # if it exists add it to the resources (compile into binary form)
85 # otherwise print warning message
86 SET(PV_DOC_FILE ${ParaView_INSTALL_PREFIX}/share/doc/paraview-${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}/paraview.qch)
87 IF (EXISTS ${PV_DOC_FILE})
88 SET(RC_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/PVGUI.qrc.in)
89 SET(RC_GENERATED ${CMAKE_CURRENT_BINARY_DIR}/PVGUI.qrc)
90 MESSAGE(STATUS "Creation of ${RC_GENERATED}")
91 CONFIGURE_FILE(${RC_SOURCE} ${RC_GENERATED})
92 QT4_ADD_RESOURCES(RCS_SOURCES ${RC_GENERATED})
93 SET(dist_libPARAVIS_la_SOURCES ${dist_libPARAVIS_la_SOURCES} ${RCS_SOURCES})
94 ADD_DEFINITIONS(-DHAS_PV_DOC)
95 ELSE (EXISTS ${PV_DOC_FILE})
96 MESSAGE(WARNING "Help file for ParaView has not been found! ParaView documentation will not be available.")
97 ENDIF (EXISTS ${PV_DOC_FILE})
102 PVGUI_ViewManager_moc.cxx
103 PVGUI_ViewModel_moc.cxx
104 PVGUI_ViewWindow_moc.cxx
105 PVGUI_ParaViewSettingsPane_moc.cxx
108 # additionnal compilation flags
109 # Note that ParaView uses HDF5
110 SET(libPARAVIS_la_CPPFLAGS
113 ${QT_ASSISTANT_INCLUDES}
118 ${OMNIORB_DEFINITIONS}
123 ${VISU_PARAVIS_DEFINES}
126 # remove deprecation warnings from Paraview
129 SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
133 SET(nodist_salomeres_DATA
140 FOREACH(src ${dist_libPARAVIS_la_SOURCES})
141 SET(srcs ${srcs} ${src})
142 ENDFOREACH(src ${dist_libPARAVIS_la_SOURCES})
144 FOREACH(f ${MOC_FILES})
145 SET(srcs ${srcs} ${CMAKE_CURRENT_BINARY_DIR}/${f})
146 ENDFOREACH(f ${MOC_FILES})
148 ADD_LIBRARY(PARAVIS SHARED ${srcs})
151 FOREACH(f ${PARAVIEW_INCLUDES} ${VTK_INCLUDES} ${PLATFORM_CPPFLAGS} ${PTHREAD_CFLAGS} ${libPARAVIS_la_CPPFLAGS})
152 SET(flags "${flags} ${f}")
153 ENDFOREACH(f ${PARAVIEW_INCLUDES} ${VTK_INCLUDES} ${PLATFORM_CPPFLAGS} ${PTHREAD_CFLAGS} ${libPARAVIS_la_CPPFLAGS})
155 SET_TARGET_PROPERTIES(PARAVIS PROPERTIES COMPILE_FLAGS "${flags}")
156 SET_TARGET_PROPERTIES(PARAVIS PROPERTIES VERSION ${VERSION_INFO} SOVERSION ${SOVERSION_INFO})
158 TARGET_LINK_LIBRARIES(PARAVIS
159 ${PLATFORM_LIBADD} ${PLATFORM_LDFLAGS}
165 ${KERNEL_LDFLAGS} ${SalomeDS} ${SALOMELocalTrace} ${SalomeIDLKernel} ${SalomeNS} ${SalomeLifeCycleCORBA} ${SalomeContainer} ${TOOLSDS}
166 ${GUI_LDFLAGS} ${SalomeApp} ${LightApp} ${CAM} ${qtx} ${suit} ${Event} ${PyInterp} ${SalomeObject} ${vtkTools}
167 ${MED_LDFLAGS} ${SalomeIDLMED}
173 INSTALL(TARGETS PARAVIS DESTINATION lib/salome)
175 FOREACH(name ${bin_PROGRAMS})
176 ADD_EXECUTABLE(${name}
177 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParse.tab.c
178 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParsePreprocess.c
179 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParseHierarchy.c
180 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParseMain.c
181 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkParseExtras.c
182 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkWrap.c
183 ${CMAKE_SOURCE_DIR}/src/ParaView/vtkWrapText.c
184 ${CMAKE_SOURCE_DIR}/idl/vtkWrapIDL.c)
185 ADD_DEPENDENCIES(${name} generate_txt)
188 FOREACH(f ${PARAVIEW_INCLUDES} ${VTK_INCLUDES} ${PLATFORM_CPPFLAGS} ${PTHREAD_CFLAGS} ${${name}_CPPFLAGS})
189 SET(flags "${flags} ${f}")
190 ENDFOREACH(f ${PARAVIEW_INCLUDES} ${VTK_INCLUDES} ${PLATFORM_CPPFLAGS} ${PTHREAD_CFLAGS} ${${name}_CPPFLAGS})
192 SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "${flags}")
193 TARGET_LINK_LIBRARIES(${name} ${PLATFORM_LIBADD})
195 SET(${name}_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/${name})
197 IF(CMAKE_BUILD_TOOL STREQUAL nmake)
198 SET(${name}_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/${name}.exe)
199 ELSE(CMAKE_BUILD_TOOL STREQUAL nmake)
200 SET(${name}_EXEFILE ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${name}.exe)
201 ENDIF(CMAKE_BUILD_TOOL STREQUAL nmake)
203 INSTALL(FILES ${${name}_EXEFILE} DESTINATION bin/salome PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
204 ENDFOREACH(name ${bin_PROGRAMS})
206 FOREACH(output ${MOC_FILES})
207 STRING(REGEX REPLACE _moc.cxx .h input ${output})
209 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${input})
210 SET(output ${CMAKE_CURRENT_BINARY_DIR}/${output})
213 COMMAND ${QT_MOC_EXECUTABLE} ${MOC_FLAGS} ${input} -o ${output}
214 MAIN_DEPENDENCY ${input}
216 ENDFOREACH(output ${MOC_FILES})
218 FOREACH(f ${nodist_salomeres_DATA})
219 STRING(REGEX REPLACE .qm .ts input ${f})
220 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/resources/${input})
221 SET(output ${CMAKE_CURRENT_BINARY_DIR}/${f})
222 EXECUTE_PROCESS(COMMAND ${QT_LRELEASE_EXECUTABLE} ${input} -qm ${output})
223 INSTALL(FILES ${output} DESTINATION share/salome/resources/paravis)
224 ENDFOREACH(f ${nodist_salomeres_DATA})