Salome HOME
Merge from V6_main 13/12/2012
[modules/paravis.git] / src / Plugins / MedReader / ParaViewPlugin / CMakeLists.txt
1 # Copyright (C) 2010-2012  CEA/DEN, EDF R&D
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 set(MEDREADER_HDRS)
21 set(EXTRACTGROUP_HDRS)
22
23 include(${MedReader_BINARY_DIR}/IO/vtkMedReader_IOKit.cmake)
24
25 include_directories(${VTK_MEDREADER_IO_HEADER_DIR})
26
27 add_definitions( -I${CMAKE_CURRENT_BINARY_DIR}/../IO )
28
29 foreach(class ${VTK_MEDREADER_IO_CLASSES})
30     set(MEDREADER_HDRS ${MEDREADER_HDRS} ${VTK_MEDREADER_IO_HEADER_DIR}/${class}.h)
31 endforeach(class)
32
33 foreach(class ${VTK_MEDREADER_IO_CLASSES_ABSTRACT})
34     set_source_files_properties(${VTK_MEDREADER_IO_HEADER_DIR}/${class}.h PROPERTIES ABSTRACT 1)
35 endforeach(class)
36
37 foreach(class ${VTK_MEDREADER_IO_CLASSES_WRAP_EXCLUDE})
38     set_source_files_properties(${VTK_MEDREADER_IO_HEADER_DIR}/${class}.h PROPERTIES WRAP_EXCLUDE 1)
39 endforeach(class)
40
41 SET(SM_SRCS
42     vtkSMMedGroupSelectionDomain.cxx
43     )
44
45 IF(PARAVIEW_BUILD_QT_GUI)
46
47     QT4_WRAP_UI(CLIENT_UI_SRCS
48         Resources/UI/MedReaderPanel.ui
49         Resources/UI/ExtractGroupPanel.ui
50     )
51
52     # create a plugin that implements an object panel for the reader
53     SET(CLIENT_SRCS
54         pqMedReaderPanel.cxx
55         pqExtractGroupPanel.cxx
56     )
57
58     QT4_WRAP_CPP(MOC_SRCS
59         pqMedReaderPanel.h
60         pqExtractGroupPanel.h
61     )
62
63     ADD_PARAVIEW_OBJECT_PANEL(MEDREADER_IFACES MEDREADER_IFACE_SRCS
64         CLASS_NAME pqMedReaderPanel
65         XML_NAME MedReader
66         XML_GROUP sources
67     )
68         
69     ADD_PARAVIEW_OBJECT_PANEL(EXTRACTGROUP_IFACES EXTRACTGROUP_IFACE_SRCS
70         CLASS_NAME pqExtractGroupPanel
71         XML_NAME ExtractGroup
72         XML_GROUP filters
73     )
74     
75     # create the med reader plugin itself
76     ADD_PARAVIEW_PLUGIN(MedReaderPlugin "4.0"
77         SERVER_MANAGER_SOURCES ${MEDREADER_HDRS} ${EXTRACTGROUP_HDRS} ${SM_SRCS}
78         SERVER_MANAGER_XML Resources/MedReaderServer.xml
79         GUI_INTERFACES ${MEDREADER_IFACES} ${EXTRACTGROUP_IFACES}
80         GUI_RESOURCES Resources/pqMedReader.qrc
81         GUI_SOURCES ${CLIENT_SRCS}
82               ${CLIENT_UI_SRCS}
83               ${MOC_SRCS}
84               ${MEDREADER_IFACE_SRCS}
85               ${EXTRACTGROUP_IFACE_SRCS}
86     )
87         
88 ELSE(PARAVIEW_BUILD_QT_GUI)
89           
90     # create the med reader plugin itself
91     ADD_PARAVIEW_PLUGIN(MedReaderPlugin "4.0"
92         SERVER_MANAGER_SOURCES ${MEDREADER_HDRS} ${EXTRACTGROUP_HDRS} ${SM_SRCS}
93         SERVER_MANAGER_XML Resources/MedReaderServer.xml
94     )
95     
96 ENDIF(PARAVIEW_BUILD_QT_GUI)
97
98 TARGET_LINK_LIBRARIES(MedReaderPlugin vtkMedReader)
99
100 # Install
101 INSTALL(
102     TARGETS MedReaderPlugin
103     RUNTIME DESTINATION lib/paraview
104     LIBRARY DESTINATION lib/paraview
105     ARCHIVE DESTINATION lib/paraview
106 )
107
108
109
110