Salome HOME
[salome test] Add REQUIRE_X_SERVER label on MEDReader and PARAVIS tests
[modules/paravis.git] / src / Plugins / ParaMEDCorba / CMakeLists.txt
index 77bc114973ed9e2ab3933c579faa6e666db9d011..2d61a70fdc8cd85f320a2f75d8b8f3a0c7dce84e 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2010-2012  CEA/DEN, EDF R&D
+# Copyright (C) 2010-2016  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 PROJECT( ParaMEDCorba )
 
-  CMAKE_MINIMUM_REQUIRED( VERSION 2.6 )
+  CMAKE_MINIMUM_REQUIRED( VERSION 2.8.7 )
+  IF(WIN32)
+    CMAKE_POLICY(SET CMP0020 OLD) # disable automatic linking to qtmain.lib 
+  ENDIF(WIN32)
+
   ## !!! This definition corrupts wrapping process
   #SET( LIBRARY_OUTPUT_PATH ${ParaMEDCorba_BINARY_DIR}/bin CACHE INTERNAL "Single place for output" )
   #SET( EXECUTABLE_OUTPUT_PATH ${ParaMEDCorba_BINARY_DIR}/bin  CACHE INTERNAL "Single place for output" )
@@ -28,50 +32,56 @@ PROJECT( ParaMEDCorba )
     EXECUTABLE_OUTPUT_PATH
   )
 
-  FIND_PACKAGE( ParaView REQUIRED )
+  FIND_PACKAGE( ParaView COMPONENTS pqCore NO_MODULE)
 
   IF( ParaView_FOUND )
     
     INCLUDE( ${PARAVIEW_USE_FILE} )
 
+    FIND_PACKAGE( VTK COMPONENTS vtkClientServer NO_MODULE)
+    INCLUDE( ${VTK_USE_FILE} )
+
     SET( PARACORBAPLUG_SRCS
       ${ParaMEDCorba_SOURCE_DIR}/vtkParaMEDCorbaSource.cxx
       )
 
     ADD_LIBRARY (ParaMEDMEM2VTK SHARED VTKMEDCouplingMeshClient.cxx VTKMEDCouplingUMeshClient.cxx VTKMEDCouplingCMeshClient.cxx
-      VTKMEDCouplingFieldClient.cxx VTKParaMEDFieldClient.cxx VTKMEDCouplingMultiFieldsClient.cxx )
+      VTKMEDCouplingFieldClient.cxx VTKParaMEDFieldClient.cxx VTKMEDCouplingMultiFieldsClient.cxx VTKMEDCouplingCurveLinearMeshClient.cxx)
     
     ADD_PARAVIEW_PLUGIN( ParaMEDCorbaPlugin "1.0"
       SERVER_MANAGER_XML ParaMEDCorbaServerManager.xml
-      GUI_RESOURCE_FILES
-      ParaMEDCorbaUserInterfaceSources.xml
       SERVER_MANAGER_SOURCES ${PARACORBAPLUG_SRCS} )
     
-    SET(flags)
-    FOREACH(f ${CORBA_INCLUDES} ${CORBA_CXXFLAGS})
-      SET(flags "${flags} ${f}")
-    ENDFOREACH(f ${CORBA_INCLUDES} ${CORBA_CXXFLAGS})
-    
-    INCLUDE_DIRECTORIES(${MED_ROOT_DIR}/include/salome ${KERNEL_ROOT_DIR}/include/salome)
-    SET_TARGET_PROPERTIES(ParaMEDMEM2VTK PROPERTIES COMPILE_FLAGS "${flags}")
-    SET_TARGET_PROPERTIES(ParaMEDCorbaPlugin PROPERTIES COMPILE_FLAGS "${flags}")
+    INCLUDE_DIRECTORIES(${OMNIORB_INCLUDE_DIR} ${MED_ROOT_DIR}/include/salome ${KERNEL_ROOT_DIR}/include/salome)
+    ADD_DEFINITIONS(${OMNIORB_DEFINITIONS})
 
     TARGET_LINK_LIBRARIES(ParaMEDMEM2VTK
-      vtkCommon
-      vtkFiltering
-      vtkGraphics
+      #vtkCommon
+      #vtkFiltering
+      #vtkGraphics
       vtkClientServer
+      vtkPVVTKExtensionsRendering
       pqCore
-      ${CORBA_LIBS}
-      ${SalomeIDLMED}
-      ${SalomeIDLKernel}
-      ${QT_LIBS}
-      ${CORBA_LIBS}
+      ${OMNIORB_LIBRARIES}
+      ${MED_SalomeIDLMED}
+      ${KERNEL_SalomeIDLKernel}
+      ${QT_LIBRARIES}
       )
     TARGET_LINK_LIBRARIES(ParaMEDCorbaPlugin
       ParaMEDMEM2VTK
       )
     
+    #Build library with a static runtime and ignore MSVCRT.lib on WINDOWS
+    IF(WIN32)
+      IF(CMAKE_BUILD_TYPE STREQUAL Debug)
+        SET_TARGET_PROPERTIES(ParaMEDMEM2VTK PROPERTIES LINK_FLAGS "/NODEFAULTLIB:MSVCRTD")
+        SET_TARGET_PROPERTIES(ParaMEDMEM2VTK PROPERTIES COMPILE_FLAGS "/MTd")
+      ELSE()
+        SET_TARGET_PROPERTIES(ParaMEDMEM2VTK PROPERTIES LINK_FLAGS "/NODEFAULTLIB:MSVCRT")
+        SET_TARGET_PROPERTIES(ParaMEDMEM2VTK PROPERTIES COMPILE_FLAGS "/MT")
+      ENDIF()
+    ENDIF(WIN32)
+
     INSTALL(TARGETS ParaMEDCorbaPlugin DESTINATION lib/paraview)
 
     INSTALL(TARGETS ParaMEDMEM2VTK DESTINATION lib/salome)
@@ -79,7 +89,7 @@ PROJECT( ParaMEDCorba )
     ADD_EXECUTABLE( testParaMEDCorba
       ${ParaMEDCorba_SOURCE_DIR}/testParaMEDCorba.cxx
       )
-    # SET_TARGET_PROPERTIES(testCorbaPlugin PROPERTIES COMPILE_FLAGS "${flags}")
+    # SET_TARGET_PROPERTIES(testCorbaPlugin PROPERTIES COMPILE_FLAGS "${OMNIORB_DEFINITIONS}")
     
     TARGET_LINK_LIBRARIES( testParaMEDCorba
       ParaMEDCorbaPlugin