Salome HOME
Merge from V6_main 01/04/2013
[modules/paravis.git] / src / Plugins / ParaMEDCorba / CMakeLists.txt
1 # Copyright (C) 2010-2013  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 PROJECT( ParaMEDCorba )
21
22   CMAKE_MINIMUM_REQUIRED( VERSION 2.8.7 )
23   ## !!! This definition corrupts wrapping process
24   #SET( LIBRARY_OUTPUT_PATH ${ParaMEDCorba_BINARY_DIR}/bin CACHE INTERNAL "Single place for output" )
25   #SET( EXECUTABLE_OUTPUT_PATH ${ParaMEDCorba_BINARY_DIR}/bin  CACHE INTERNAL "Single place for output" )
26   MARK_AS_ADVANCED(
27     LIBRARY_OUTPUT_PATH
28     EXECUTABLE_OUTPUT_PATH
29   )
30
31   FIND_PACKAGE( ParaView COMPONENTS pqCore NO_MODULE)
32
33   IF( ParaView_FOUND )
34     
35     INCLUDE( ${PARAVIEW_USE_FILE} )
36
37     FIND_PACKAGE( VTK 6.0 COMPONENTS vtkClientServer NO_MODULE)
38     INCLUDE( ${VTK_USE_FILE} )
39
40     SET( PARACORBAPLUG_SRCS
41       ${ParaMEDCorba_SOURCE_DIR}/vtkParaMEDCorbaSource.cxx
42       )
43
44     ADD_LIBRARY (ParaMEDMEM2VTK SHARED VTKMEDCouplingMeshClient.cxx VTKMEDCouplingUMeshClient.cxx VTKMEDCouplingCMeshClient.cxx
45       VTKMEDCouplingFieldClient.cxx VTKParaMEDFieldClient.cxx VTKMEDCouplingMultiFieldsClient.cxx VTKMEDCouplingCurveLinearMeshClient.cxx)
46     
47     ADD_PARAVIEW_PLUGIN( ParaMEDCorbaPlugin "1.0"
48       SERVER_MANAGER_XML ParaMEDCorbaServerManager.xml
49       GUI_RESOURCE_FILES
50       ParaMEDCorbaUserInterfaceSources.xml
51       SERVER_MANAGER_SOURCES ${PARACORBAPLUG_SRCS} )
52     
53     INCLUDE_DIRECTORIES(${OMNIORB_INCLUDE_DIRS} ${MED_ROOT_DIR}/include/salome ${KERNEL_ROOT_DIR}/include/salome)
54     SET_TARGET_PROPERTIES(ParaMEDMEM2VTK PROPERTIES COMPILE_FLAGS "${OMNIORB_DEFINITIONS}")
55     SET_TARGET_PROPERTIES(ParaMEDCorbaPlugin PROPERTIES COMPILE_FLAGS "${OMNIORB_DEFINITIONS}")
56
57     TARGET_LINK_LIBRARIES(ParaMEDMEM2VTK
58       #vtkCommon
59       #vtkFiltering
60       #vtkGraphics
61       vtkClientServer
62       pqCore
63       ${OMNIORB_LIBRARIES}
64       ${SalomeIDLMED}
65       ${SalomeIDLKernel}
66       ${QT_LIBS}
67       )
68     TARGET_LINK_LIBRARIES(ParaMEDCorbaPlugin
69       ParaMEDMEM2VTK
70       )
71     
72     INSTALL(TARGETS ParaMEDCorbaPlugin DESTINATION lib/paraview)
73
74     INSTALL(TARGETS ParaMEDMEM2VTK DESTINATION lib/salome)
75     
76     ADD_EXECUTABLE( testParaMEDCorba
77       ${ParaMEDCorba_SOURCE_DIR}/testParaMEDCorba.cxx
78       )
79     # SET_TARGET_PROPERTIES(testCorbaPlugin PROPERTIES COMPILE_FLAGS "${OMNIORB_DEFINITIONS}")
80     
81     TARGET_LINK_LIBRARIES( testParaMEDCorba
82       ParaMEDCorbaPlugin
83       )
84     
85     INSTALL(FILES ParaMEDCorbaServerManager.xml DESTINATION share)
86     
87   
88   ENDIF( ParaView_FOUND )
89