Salome HOME
8dc0b75a957c6b73819daa5915a18afb37d624b6
[modules/kernel.git] / idl / CMakeLists.txt
1 # Copyright (C) 2012  CEA/DEN, EDF R&D, OPEN CASCADE
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 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/UseOMNIORB.cmake)
21
22 INCLUDE_DIRECTORIES(
23   ${OMNIORB_INCLUDE_DIRS}
24   ${CMAKE_CURRENT_BINARY_DIR}
25 )
26
27 CONFIGURE_FILE(Calcium_Ports.idl.in Calcium_Ports.idl @ONLY)
28
29 SET(SalomeIDLKernel_IDLSOURCES
30   SALOME_Exception.idl
31   SALOME_Comm.idl
32   SALOME_ModuleCatalog.idl
33   SALOME_RessourcesCatalog.idl
34   SALOMEDS.idl
35   SALOMEDS_Attributes.idl
36   SALOME_Component.idl
37   SALOME_ContainerManager.idl
38   SALOME_Registry.idl
39   Logger.idl
40   SALOME_GenericObj.idl
41   SALOME_Types.idl
42   SALOME_Session.idl
43   nstest.idl
44   DSC_Engines.idl
45   SALOME_Ports.idl
46   SALOME_PyNode.idl
47   Palm_Ports.idl
48   SALOME_PACOExtension.idl
49   SALOME_ParamPorts.idl
50   SALOME_Parametric.idl
51   SALOME_MPIObject.idl
52   SALOME_TestComponent.idl
53   SALOME_TestModuleCatalog.idl
54   ${CMAKE_CURRENT_BINARY_DIR}/Calcium_Ports.idl
55 )
56
57 IF(MPI_IS_OK)
58   SET(SalomeIDLKernel_IDLSOURCES ${SalomeIDLKernel_IDLSOURCES} SALOME_MPIContainer.idl SALOME_TestMPIComponent.idl)
59 ENDIF(MPI_IS_OK)
60
61 SET(IDL_INCLUDE_DIRS
62   ${CMAKE_CURRENT_SOURCE_DIR}
63   ${CMAKE_CURRENT_BINARY_DIR}
64 )
65
66 SET(COMMON_FLAGS "${OMNIORB_DEFINITIONS} ${PLATFORM_DEFINITIONS}")
67 SET(TYPE)
68 IF(WINDOWS)
69   SET(COMMON_FLAGS "${COMMON_FLAGS} -DNOGDI")
70   SET(TYPE STATIC)
71 ELSE(WINDOWS)
72   SET(TYPE SHARED)
73 ENDIF(WINDOWS)
74
75 OMNIORB_ADD_MODULE(SalomeIDLKernel "${SalomeIDLKernel_IDLSOURCES}" "${IDL_INCLUDE_DIRS}" ${TYPE})
76 TARGET_LINK_LIBRARIES(SalomeIDLKernel ${CORBA_LIBS})
77 SET_TARGET_PROPERTIES(SalomeIDLKernel PROPERTIES COMPILE_FLAGS "${COMMON_FLAGS}")
78
79 INSTALL(TARGETS SalomeIDLKernel DESTINATION ${KERNEL_salomelib_LIBS})
80
81 IF(WITH_PACO_PARALLEL)
82   SET(SalomeParallelIDLKernel_IDLSOURCES
83     SALOME_ComponentPaCO.idl
84     SALOME_PortsPaCO.idl
85     DSC_EnginesPaCO.idl
86     SALOME_ParamPortsPaCO.idl
87     SALOME_PACOExtensionPaCO.idl
88     SALOME_GenericObjPaCO.idl
89   )
90   OMNIORB_ADD_MODULE(SalomeParallelIDLKernel "${SalomeIDLKernel_IDLSOURCES}" "${IDL_INCLUDE_DIRS}")
91   TARGET_LINK_LIBRARIES(SalomeParallelIDLKernel ${CORBA_LIBS})
92   SET_TARGET_PROPERTIES(SalomeParallelIDLKernel PROPERTIES COMPILE_FLAGS "${OMNIORB_DEFINITIONS}")
93
94   INSTALL(TARGETS SalomeParallelIDLKernel DESTINATION ${KERNEL_salomelib_LIBS})
95 ENDIF(WITH_PACO_PARALLEL)