Salome HOME
Updated copyright comment
[modules/kernel.git] / src / SALOMEDS / CMakeLists.txt
old mode 100755 (executable)
new mode 100644 (file)
index 7d6201b..1fd8d60
@@ -1,9 +1,9 @@
-# Copyright (C) 2012  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2024  CEA, EDF, 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
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
+include(${SWIG_USE_FILE})
+
 INCLUDE_DIRECTORIES(
-  ${PTHREAD_INCLUDE_DIRS}
+  ${PTHREAD_INCLUDE_DIR}
   ${OMNIORB_INCLUDE_DIR}
   ${HDF5_INCLUDE_DIRS}
   ${Boost_INCLUDE_DIRS}
-  ${CMAKE_BINARY_DIR}/salome_adm
+  ${PYTHON_INCLUDE_DIRS}
+  ${PROJECT_BINARY_DIR}/salome_adm
   ${CMAKE_CURRENT_SOURCE_DIR}/../HDFPersist
+  ${CMAKE_CURRENT_SOURCE_DIR}/../ArgvKeeper
   ${CMAKE_CURRENT_SOURCE_DIR}/../Basics
   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMELocalTrace
+  ${CMAKE_CURRENT_SOURCE_DIR}/../KernelHelpers
   ${CMAKE_CURRENT_SOURCE_DIR}/../Utils
   ${CMAKE_CURRENT_SOURCE_DIR}/../DF
   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMEDSImpl
@@ -33,33 +38,38 @@ INCLUDE_DIRECTORIES(
   ${CMAKE_CURRENT_SOURCE_DIR}/../GenericObj
   ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMEDSClient
   ${CMAKE_CURRENT_SOURCE_DIR}/../LifeCycleCORBA
-  ${CMAKE_BINARY_DIR}/idl
+  ${CMAKE_CURRENT_SOURCE_DIR}/../TOOLSDS
+  ${CMAKE_CURRENT_SOURCE_DIR}/../Container
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${PROJECT_BINARY_DIR}/idl
 )
 
 ADD_DEFINITIONS(${OMNIORB_DEFINITIONS} ${HDF5_DEFINITIONS} ${BOOST_DEFINITIONS})
-IF(WINDOWS)
+IF(WIN32)
   ADD_DEFINITIONS(-DNOGDI)
-ENDIF(WINDOWS)
+ENDIF(WIN32)
 
 SET(COMMON_LIBS
+  ArgvKeeper
   TOOLSDS
   SalomeNS
   OpUtil
   SALOMELocalTrace
   SALOMEBasics
   SalomeHDFPersist
+  SalomeKernelHelpers
   DF
   SalomeDSImpl
   SalomeGenericObj
   SalomeLifeCycleCORBA
   SalomeIDLKernel
+  SalomeDSClient
   ${HDF5_C_LIBRARIES}
 )
 
 SET(SalomeDS_SOURCES
   SALOMEDS.cxx
   SALOMEDS_Driver_i.cxx
-  SALOMEDS_StudyManager_i.cxx
   SALOMEDS_UseCaseBuilder_i.cxx
   SALOMEDS_UseCaseIterator_i.cxx
   SALOMEDS_ChildIterator_i.cxx
@@ -108,7 +118,6 @@ SET(SalomeDS_SOURCES
   SALOMEDS_UseCaseBuilder.cxx
   SALOMEDS_StudyBuilder.cxx
   SALOMEDS_Study.cxx
-  SALOMEDS_StudyManager.cxx
   SALOMEDS_AttributeStudyProperties.cxx
   SALOMEDS_AttributeComment.cxx
   SALOMEDS_AttributeDrawable.cxx
@@ -146,7 +155,7 @@ SET(SalomeDS_SOURCES
 
 ADD_LIBRARY(SalomeDS ${SalomeDS_SOURCES})
 TARGET_LINK_LIBRARIES(SalomeDS ${COMMON_LIBS})
-INSTALL(TARGETS SalomeDS DESTINATION ${KERNEL_salomelib_LIBS})
+INSTALL(TARGETS SalomeDS EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
 
 ADD_EXECUTABLE(SALOMEDS_Server SALOMEDS_Server.cxx)
 TARGET_LINK_LIBRARIES(SALOMEDS_Server SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES})
@@ -154,15 +163,37 @@ TARGET_LINK_LIBRARIES(SALOMEDS_Server SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMN
 ADD_EXECUTABLE(SALOMEDS_Client SALOMEDS_Client.cxx)
 TARGET_LINK_LIBRARIES(SALOMEDS_Client SalomeDS SALOMEBasics ${COMMON_LIBS} ${OMNIORB_LIBRARIES})
 
-INSTALL(TARGETS SALOMEDS_Server SALOMEDS_Client DESTINATION ${KERNEL_salomebin_BINS})
+SET(KernelDS_HEADERS KernelDS.hxx KernelDS.i)
+SET(KernelDS_SOURCES KernelDS.cxx ${KernelDS_HEADERS})
+SET_SOURCE_FILES_PROPERTIES(KernelDS.i PROPERTIES CPLUSPLUS ON)
+SET_SOURCE_FILES_PROPERTIES(KernelDS.i PROPERTIES SWIG_FLAGS "-py3")
+SET_SOURCE_FILES_PROPERTIES(KernelDS_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H")
+SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/KernelDS.py )
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
+  SWIG_ADD_MODULE(KernelDS python ${KernelDS_SOURCES})
+ELSE()
+  SWIG_ADD_LIBRARY(KernelDS LANGUAGE python SOURCES ${KernelDS_SOURCES})
+ENDIF()
+IF(${MACHINE} STREQUAL WINDOWS)
+  SET_TARGET_PROPERTIES(_KernelDS PROPERTIES DEBUG_OUTPUT_NAME _KernelDS_d)
+ENDIF(${MACHINE} STREQUAL WINDOWS)
+SWIG_LINK_LIBRARIES(KernelDS ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} SalomeDS SalomeKernelHelpers)
+install(TARGETS _KernelDS DESTINATION ${SALOME_INSTALL_LIBS})
+install(FILES ${KernelDS_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
+SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}"  ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_KernelDS_REAL_NAME}")
+
+INSTALL(TARGETS SALOMEDS_Server SALOMEDS_Client
+      EXPORT ${PROJECT_NAME}TargetGroup
+      DESTINATION ${SALOME_INSTALL_BINS})
 
 # Executable scripts to be installed
-SALOME_INSTALL_SCRIPTS(SALOME_DriverPy.py ${KERNEL_salomescript_PYTHON})
+SALOME_INSTALL_SCRIPTS(SALOME_DriverPy.py ${SALOME_INSTALL_SCRIPT_PYTHON})
 
-SET(COMMON_HEADERS_HXX 
-  SALOMEDS_StudyManager_i.hxx
+SET(COMMON_HEADERS_HXX
+  SALOMEDS_SComponentIterator_i.hxx
+  SALOMEDS_StudyBuilder_i.hxx
+  SALOMEDS_UseCaseBuilder_i.hxx
   SALOMEDS_Driver_i.hxx
-  SALOMEDS_StudyManager.hxx
   SALOMEDS_Study_i.hxx
   SALOMEDS_Study.hxx
   SALOMEDS_SObject_i.hxx
@@ -176,4 +207,4 @@ SET(COMMON_HEADERS_HXX
   SALOMEDS_wrap.hxx
   SALOMEDS_Attributes_wrap.hxx
 )
-INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS})
+INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS})