Salome HOME
updated copyright message
[modules/kernel.git] / src / Logger / 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   ${OMNIORB_INCLUDE_DIR}
24   ${PTHREAD_INCLUDE_DIR}
25   ${PYTHON_INCLUDE_DIRS}
26   ${PROJECT_BINARY_DIR}/salome_adm
27   ${CMAKE_CURRENT_SOURCE_DIR}/../ArgvKeeper
28   ${CMAKE_CURRENT_SOURCE_DIR}/../Basics
29   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMELocalTrace
30   ${CMAKE_CURRENT_SOURCE_DIR}/../Utils
31   ${CMAKE_CURRENT_SOURCE_DIR}/../KernelHelpers
32   ${CMAKE_CURRENT_SOURCE_DIR}/../NamingService
33   ${CMAKE_CURRENT_SOURCE_DIR}/../LifeCycleCORBA
34   ${CMAKE_CURRENT_SOURCE_DIR}
35   ${PROJECT_BINARY_DIR}/idl
36 )
37 ADD_DEFINITIONS(${OMNIORB_DEFINITIONS})
38
39 ADD_LIBRARY(SalomeLoggerServer SALOME_Trace.cxx SALOME_Logger_Server.cxx)
40 TARGET_LINK_LIBRARIES(SalomeLoggerServer SalomeKernelHelpers  SalomeIDLKernel ${OMNIORB_LIBRARIES} ${PLATFORM_LIBS})
41 INSTALL(TARGETS SalomeLoggerServer EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
42
43 SET(SALOME_Logger_Server_SOURCES
44   SALOME_Logger_Server_main.cxx
45   SALOME_Logger_Server.hxx
46 )
47
48 SET(SALOME_Logger_Server_LIBS
49   ArgvKeeper
50   SalomeLoggerServer
51   SalomeIDLKernel
52   OpUtil
53   SalomeKernelHelpers
54   ${OMNIORB_LIBRARIES}
55 )
56
57 ADD_EXECUTABLE(SALOME_Logger_Server ${SALOME_Logger_Server_SOURCES})
58 TARGET_LINK_LIBRARIES(SALOME_Logger_Server ${SALOME_Logger_Server_LIBS})
59 INSTALL(TARGETS SALOME_Logger_Server EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
60
61 SET(KernelLogger_HEADERS KernelLogger.hxx KernelLogger.i)
62 SET(KernelLogger_SOURCES KernelLogger.cxx ${KernelLogger_HEADERS})
63 SET_SOURCE_FILES_PROPERTIES(KernelLogger.i PROPERTIES CPLUSPLUS ON)
64 SET_SOURCE_FILES_PROPERTIES(KernelLogger.i PROPERTIES SWIG_FLAGS "-py3")
65 SET_SOURCE_FILES_PROPERTIES(KernelLogger_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
66 SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/KernelLogger.py )
67 IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
68   SWIG_ADD_MODULE(KernelLogger python ${KernelLogger_SOURCES})
69 ELSE()
70   SWIG_ADD_LIBRARY(KernelLogger LANGUAGE python SOURCES ${KernelLogger_SOURCES})
71 ENDIF()
72 IF(${MACHINE} STREQUAL WINDOWS)
73   SET_TARGET_PROPERTIES(_KernelLogger PROPERTIES DEBUG_OUTPUT_NAME _KernelLogger_d)
74 ENDIF(${MACHINE} STREQUAL WINDOWS)
75 SWIG_LINK_LIBRARIES(KernelLogger ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} SalomeLoggerServer)
76 install(TARGETS _KernelLogger DESTINATION ${SALOME_INSTALL_LIBS})
77 install(FILES ${KernelLogger_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
78 SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}"  ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_KernelLogger_REAL_NAME}")
79
80 # Executable scripts to be installed
81 SALOME_INSTALL_SCRIPTS(SALOME_Trace.py ${SALOME_INSTALL_SCRIPT_PYTHON})
82
83 INSTALL(FILES SALOME_Trace.hxx DESTINATION ${SALOME_INSTALL_HEADERS})