Salome HOME
[PortManager] Separate ports according to their owner (this or other application)
[modules/yacs.git] / src / Communication / CMakeLists.txt
index 4d1b1de036b11c2e9309ef7f64308da95512c148..643dd6f4bba8a080c57853c382dfcb5b108130da 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}
-  ${MPI_INCLUDE_DIRS}
+  ${OMNIORB_INCLUDE_DIR}
+  ${PTHREAD_INCLUDE_DIR}
+  ${MPI_CXX_INCLUDE_PATH}
   ${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}/../Utils
-  ${CMAKE_BINARY_DIR}/idl
+  ${PROJECT_BINARY_DIR}/idl
 )
 
 SET(COMMON_LIBS
   OpUtil
   SALOMELocalTrace
   SalomeIDLKernel
+  ${PYTHON_LIBRARIES}
+  ${MPI_CXX_LIBRARIES}
 )
 
 SET(SalomeCommunication_SOURCES
@@ -43,29 +45,25 @@ SET(SalomeCommunication_SOURCES
   SALOMEMultiComm.cxx
   ReceiverFactory.cxx
   MatrixClient.cxx
-  MultiCommException.hxx
-  SALOME_Comm_i.hxx
-  SALOME_Matrix_i.hxx
-  SenderFactory.hxx
-  ReceiverFactory.hxx
-  MatrixClient.hxx
-  SALOMEMultiComm.hxx
-  Receivers.hxx
-  Receiver.hxx
 )
 
-ADD_LIBRARY(SalomeCommunication SHARED ${SalomeCommunication_SOURCES})
-SET_TARGET_PROPERTIES(SalomeCommunication PROPERTIES COMPILE_FLAGS "${OMNIORB_DEFINITIONS} ${MPI_DEFINITIONS} ${PLATFORM_DEFINITIONS}")
-TARGET_LINK_LIBRARIES(SalomeCommunication ${COMMON_LIBS} ${PYTHON_LIBS} ${MPI_LIBS})
-INSTALL(TARGETS SalomeCommunication DESTINATION ${KERNEL_salomelib_LIBS})
+ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${MPI_DEFINITIONS})
 
-FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
-SET(NOINST_HEADERS_HXX
+ADD_LIBRARY(SalomeCommunication ${SalomeCommunication_SOURCES})
+TARGET_LINK_LIBRARIES(SalomeCommunication ${COMMON_LIBS})
+INSTALL(TARGETS SalomeCommunication EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
+
+SET(COMMON_HEADERS_HXX
+  MatrixClient.hxx
+  MultiCommException.hxx
   Receiver.hxx
+  ReceiverFactory.hxx
   Receivers.hxx
+  SALOMEMultiComm.hxx
+  SALOME_Comm_i.hxx
+  SALOME_Communication.hxx
+  SALOME_Matrix_i.hxx
+  SenderFactory.hxx
 )
-FOREACH(HEADER ${NOINST_HEADERS_HXX})
-  LIST(REMOVE_ITEM COMMON_HEADERS_HXX ${CMAKE_CURRENT_SOURCE_DIR}/${HEADER})
-ENDFOREACH(HEADER ${NOINST_HEADERS_HXX})
 
-INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS})
+INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS})