Salome HOME
0023366: [CEA 1972] Porting Salome to GCC 6
[modules/kernel.git] / src / Container / CMakeLists.txt
index 541775c36de184d2b9326e3e0e10f796e5934e02..530763b1ea0b90ee8e62c865f5d26c951518f261 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # 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
 #
 
 INCLUDE_DIRECTORIES(
-  ${PTHREAD_INCLUDE_DIRS}
-  ${OMNIORB_INCLUDE_DIRS}
+  ${OMNIORB_INCLUDE_DIR}
+  ${PTHREAD_INCLUDE_DIR}
   ${HDF5_INCLUDE_DIRS}
-  ${LIBXML_INCLUDE_DIRS}
   ${PYTHON_INCLUDE_DIRS}
-  ${CMAKE_BINARY_DIR}/salome_adm
+  ${PROJECT_BINARY_DIR}/salome_adm
   ${CMAKE_CURRENT_SOURCE_DIR}/../Basics
   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMELocalTrace
   ${CMAKE_CURRENT_SOURCE_DIR}/../NamingService
@@ -33,17 +32,17 @@ INCLUDE_DIRECTORIES(
   ${CMAKE_CURRENT_SOURCE_DIR}/../ResourcesManager
   ${CMAKE_CURRENT_SOURCE_DIR}/../HDFPersist
   ${CMAKE_CURRENT_SOURCE_DIR}/../GenericObj
-  ${CMAKE_BINARY_DIR}/idl
+  ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMETraceCollector/Test
+  ${PROJECT_BINARY_DIR}/idl
 )
 
 SET(SCRIPTS
   SALOME_ComponentPy.py
   SALOME_PyNode.py
   SALOME_Container.py
-  SALOME_ContainerPy.py
 )
 
-SET(COMMON_FLAGS "${HDF5_DEFINITIONS} ${LIBXML_DEFINITIONS} ${OMNIORB_DEFINITIONS} ${PLATFORM_DEFINITIONS}")
+ADD_DEFINITIONS(${HDF5_DEFINITIONS} ${OMNIORB_DEFINITIONS})
 SET(COMMON_LIBS
   Registry
   SalomeNotification
@@ -56,32 +55,22 @@ SET(COMMON_LIBS
   SalomeHDFPersist
   SalomeGenericObj
   SalomeIDLKernel
-  ${CORBA_LIBS}
-  ${PYTHON_LIBS}
+  ${OMNIORB_LIBRARIES}
+  ${PYTHON_LIBRARIES}
 )
 
 IF(WITH_MPI_SEQ_CONTAINER)
-  SET(COMMON_FLAGS
-    ${COMMON_FLAGS}
-    ${MPI_DEFINITIONS}
-  )
+  ADD_DEFINITIONS(${MPI_DEFINITIONS})
   SET(COMMON_LIBS
-    ${COMMON_LIBS}
-    ${MPI_LIBS}
+    ${MPI_CXX_LIBRARIES}
   )
 ENDIF(WITH_MPI_SEQ_CONTAINER)
 
-IF(WITH_PACO_PARALLEL)
-  SET(COMMON_FLAGS
-    ${COMMON_FLAGS}
-    -DWITH_PACO_PARALLEL
-    ${PACO_DEFINITIONS}
-  )
-  SET(COMMON_LIBS
-    ${COMMON_LIBS}
-    ${PACO_LIBS}
-  )
-ENDIF(WITH_PACO_PARALLEL)
+IF(SALOME_PACO_PARALLEL)
+  INCLUDE_DIRECTORIES(${PACO_INCLUDE_DIRS})
+  ADD_DEFINITIONS(-DWITH_PACO_PARALLEL)
+  LIST(APPEND COMMON_LIBS ${PACO_LIBRARIES})
+ENDIF()
 
 SET(SalomeContainer_SOURCES
   Component_i.cxx
@@ -93,29 +82,28 @@ SET(SalomeContainer_SOURCES
   Salome_file_i.cxx
 )
 
-ADD_LIBRARY(SalomeContainer SHARED ${SalomeContainer_SOURCES})
-SET_TARGET_PROPERTIES(SalomeContainer PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
-TARGET_LINK_LIBRARIES(SalomeContainer ${COMMON_LIBS})
-INSTALL(TARGETS SalomeContainer DESTINATION ${KERNEL_salomelib_LIBS})
+ADD_LIBRARY(SalomeContainer ${SalomeContainer_SOURCES})
+TARGET_LINK_LIBRARIES(SalomeContainer ${COMMON_LIBS} ${PTHREAD_LIBRARIES})
+INSTALL(TARGETS SalomeContainer EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
 
 SET(SALOME_Container_LIBS
   SalomeContainer
   SALOMEBasics
   ${COMMON_LIBS}
-  ${HDF5_LIBS}
+  ${HDF5_LIBRARIES}
+  ${MPI_LIBRARIES}
 )
 
 ADD_EXECUTABLE(SALOME_Container SALOME_Container.cxx SALOME_Container_SignalsHandler.cxx)
-SET_TARGET_PROPERTIES(SALOME_Container PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
 TARGET_LINK_LIBRARIES(SALOME_Container ${SALOME_Container_LIBS})
 
-ADD_EXECUTABLE(TestSalome_file TestSalome_file.cxx)
-SET_TARGET_PROPERTIES(TestSalome_file PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
-TARGET_LINK_LIBRARIES(TestSalome_file SALOMETraceCollectorTest ${SALOME_Container_LIBS})
-
-INSTALL(TARGETS SALOME_Container DESTINATION ${KERNEL_salomebin_BINS})
+IF(SALOME_BUILD_TESTS)
+  ADD_EXECUTABLE(TestSalome_file TestSalome_file.cxx)
+  TARGET_LINK_LIBRARIES(TestSalome_file SALOMETraceCollectorTest ${SALOME_Container_LIBS})
+ENDIF()
+INSTALL(TARGETS SALOME_Container DESTINATION ${SALOME_INSTALL_BINS})
 
 # Executable scripts to be installed
-SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${KERNEL_salomescript_PYTHON})
+SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON})
 FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
-INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS})
+INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS})