Salome HOME
updated copyright message
[modules/kernel.git] / src / KernelHelpers / CMakeLists.txt
1 # Copyright (C) 2012-2023  CEA, EDF, 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, or (at your option) any later version.
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(${SWIG_USE_FILE})
21
22 INCLUDE_DIRECTORIES(
23   ${PTHREAD_INCLUDE_DIR}
24   ${OMNIORB_INCLUDE_DIR}
25   ${PYTHON_INCLUDE_DIRS}
26   ${PROJECT_BINARY_DIR}/salome_adm
27   ${CMAKE_CURRENT_SOURCE_DIR}/../ArgvKeeper
28   ${CMAKE_CURRENT_SOURCE_DIR}/../NamingService
29   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMELocalTrace
30   ${CMAKE_CURRENT_SOURCE_DIR}/../Basics
31   ${CMAKE_CURRENT_SOURCE_DIR}/../Utils
32   ${CMAKE_CURRENT_SOURCE_DIR}/../LifeCycleCORBA
33   ${CMAKE_CURRENT_SOURCE_DIR}/../Container
34   ${CMAKE_CURRENT_SOURCE_DIR}/../Notification
35   ${CMAKE_CURRENT_SOURCE_DIR}/../GenericObj
36   ${CMAKE_CURRENT_SOURCE_DIR}
37   ${PROJECT_BINARY_DIR}/idl
38 )
39
40 SET(SalomeORB_SOURCES
41   SALOME_KernelORB.cxx
42 )
43
44 ADD_LIBRARY(SalomeORB ${SalomeORB_SOURCES})
45 TARGET_LINK_LIBRARIES(SalomeORB OpUtil ${OMNIORB_LIBRARIES})
46 INSTALL(TARGETS SalomeORB EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
47
48 SET(SalomeKernelHelpers_LIBS
49   SalomeORB
50   SalomeNS
51   SALOMELocalTrace
52   SALOMEBasics
53   OpUtil
54   SalomeLifeCycleCORBA
55   SalomeContainer
56   SalomeNotification
57   SalomeGenericObj
58   SalomeIDLKernel
59 )
60
61 SET(SalomeKernelHelpers_SOURCES
62   SALOME_KernelServices.cxx
63   SALOME_StudyEditor.cxx
64   SALOMEDS_DriverDefaultImpl.cxx
65 )
66
67 ADD_DEFINITIONS(${OMNIORB_DEFINITIONS})
68
69 ADD_LIBRARY(SalomeKernelHelpers ${SalomeKernelHelpers_SOURCES})
70 TARGET_LINK_LIBRARIES(SalomeKernelHelpers ${SalomeKernelHelpers_LIBS})
71 INSTALL(TARGETS SalomeKernelHelpers EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
72
73 ADD_EXECUTABLE(KernelHelpersUseCases KernelHelpersUseCases.cxx)
74 TARGET_LINK_LIBRARIES(KernelHelpersUseCases SalomeKernelHelpers ${SalomeKernelHelpers_LIBS})
75 INSTALL(TARGETS KernelHelpersUseCases DESTINATION ${SALOME_INSTALL_BINS})
76
77 #
78
79 SET(KernelServices_HEADERS KernelServices.hxx KernelServices.i)
80 SET(KernelServices_SOURCES KernelServices.cxx ${KernelServices_HEADERS})
81 SET_SOURCE_FILES_PROPERTIES(KernelServices.i PROPERTIES CPLUSPLUS ON)
82 SET_SOURCE_FILES_PROPERTIES(KernelServices.i PROPERTIES SWIG_FLAGS "-py3")
83 SET_SOURCE_FILES_PROPERTIES(KernelServices_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
84 SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/KernelServices.py )
85 IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
86   SWIG_ADD_MODULE(KernelServices python ${KernelServices_SOURCES})
87 ELSE()
88   SWIG_ADD_LIBRARY(KernelServices LANGUAGE python SOURCES ${KernelServices_SOURCES})
89 ENDIF()
90 IF(${MACHINE} STREQUAL WINDOWS)
91   SET_TARGET_PROPERTIES(_KernelServices PROPERTIES DEBUG_OUTPUT_NAME _KernelServices_d)
92 ENDIF(${MACHINE} STREQUAL WINDOWS)
93 SWIG_LINK_LIBRARIES(KernelServices ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} SalomeKernelHelpers)
94 install(TARGETS _KernelServices DESTINATION ${SALOME_INSTALL_LIBS})
95 install(FILES ${KernelServices_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
96 SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}"  ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_KernelServices_REAL_NAME}")
97
98 #
99
100 FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx")
101 INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS})