X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FContainer%2FCMakeLists.txt;h=e61ebbb214b8e43b66372bf7fd77df45086d34ba;hb=3ce0546302001755828c8476425a60c6ab61ac92;hp=5847e3732c11a6e833fea5831f86a4f22bbd4c09;hpb=9749fc1db72bd80e278405114b05ffc69b5031da;p=modules%2Fkernel.git diff --git a/src/Container/CMakeLists.txt b/src/Container/CMakeLists.txt old mode 100755 new mode 100644 index 5847e3732..e61ebbb21 --- a/src/Container/CMakeLists.txt +++ b/src/Container/CMakeLists.txt @@ -1,9 +1,9 @@ -# Copyright (C) 2012-2013 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 @@ -17,13 +17,15 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +include(${SWIG_USE_FILE}) + INCLUDE_DIRECTORIES( - ${PTHREAD_INCLUDE_DIRS} ${OMNIORB_INCLUDE_DIR} + ${PTHREAD_INCLUDE_DIR} ${HDF5_INCLUDE_DIRS} - ${LIBXML2_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS} - ${CMAKE_BINARY_DIR}/salome_adm + ${PROJECT_BINARY_DIR}/salome_adm + ${CMAKE_CURRENT_SOURCE_DIR}/../ArgvKeeper ${CMAKE_CURRENT_SOURCE_DIR}/../Basics ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMELocalTrace ${CMAKE_CURRENT_SOURCE_DIR}/../NamingService @@ -33,18 +35,23 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/../ResourcesManager ${CMAKE_CURRENT_SOURCE_DIR}/../HDFPersist ${CMAKE_CURRENT_SOURCE_DIR}/../GenericObj - ${CMAKE_BINARY_DIR}/idl + ${CMAKE_CURRENT_SOURCE_DIR}/../SALOMETraceCollector/Test + ${CMAKE_CURRENT_SOURCE_DIR}/../KernelHelpers + ${PROJECT_BINARY_DIR}/idl + ${CMAKE_CURRENT_SOURCE_DIR} ) SET(SCRIPTS SALOME_ComponentPy.py SALOME_PyNode.py SALOME_Container.py + SALOME_ContainerHelper.py SALOME_ContainerPy.py ) -ADD_DEFINITIONS(${HDF5_DEFINITIONS} ${LIBXML2_DEFINITIONS} ${OMNIORB_DEFINITIONS}) +ADD_DEFINITIONS(${HDF5_DEFINITIONS} ${OMNIORB_DEFINITIONS}) SET(COMMON_LIBS + ArgvKeeper Registry SalomeNotification SalomeResourcesManager @@ -61,19 +68,17 @@ SET(COMMON_LIBS ) IF(WITH_MPI_SEQ_CONTAINER) - ADD_DEFINITIONS(${MPI_CXX_COMPILE_FLAGS}) + ADD_DEFINITIONS(${MPI_DEFINITIONS}) SET(COMMON_LIBS ${MPI_CXX_LIBRARIES} ) ENDIF(WITH_MPI_SEQ_CONTAINER) -IF(WITH_PACO_PARALLEL) - ADD_DEFINITIONS(-DWITH_PACO_PARALLEL ${PACO_DEFINITIONS}) - SET(COMMON_LIBS - ${COMMON_LIBS} - ${PACO_LIBS} - ) -ENDIF(WITH_PACO_PARALLEL) +IF(SALOME_PACO_PARALLEL) + INCLUDE_DIRECTORIES(${PACO_INCLUDE_DIRS}) + ADD_DEFINITIONS(-DWITH_PACO_PARALLEL) + LIST(APPEND COMMON_LIBS ${PACO_LIBRARIES}) +ENDIF() SET(SalomeContainer_SOURCES Component_i.cxx @@ -83,29 +88,75 @@ SET(SalomeContainer_SOURCES Container_init_python.cxx SALOME_ContainerManager.cxx Salome_file_i.cxx + SALOME_CPythonHelper.cxx ) ADD_LIBRARY(SalomeContainer ${SalomeContainer_SOURCES}) -TARGET_LINK_LIBRARIES(SalomeContainer ${COMMON_LIBS}) -INSTALL(TARGETS SalomeContainer DESTINATION ${KERNEL_salomelib_LIBS}) +TARGET_LINK_LIBRARIES(SalomeContainer ${COMMON_LIBS} ${PTHREAD_LIBRARIES}) +INSTALL(TARGETS SalomeContainer EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) SET(SALOME_Container_LIBS SalomeContainer SALOMEBasics ${COMMON_LIBS} ${HDF5_LIBRARIES} + ${MPI_LIBRARIES} ) -ADD_EXECUTABLE(SALOME_Container SALOME_Container.cxx SALOME_Container_SignalsHandler.cxx) -TARGET_LINK_LIBRARIES(SALOME_Container ${SALOME_Container_LIBS}) +ADD_LIBRARY(SalomeContainerServer SALOME_Container_SignalsHandler.cxx) +TARGET_LINK_LIBRARIES(SalomeContainerServer ${SALOME_Container_LIBS}) +INSTALL(TARGETS SalomeContainerServer EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) + +ADD_EXECUTABLE(SALOME_Container SALOME_Container.cxx) +TARGET_LINK_LIBRARIES(SALOME_Container SalomeContainerServer) + +ADD_EXECUTABLE(SALOME_Container_No_NS_Serv SALOME_Container_No_NS_Serv.cxx) +TARGET_LINK_LIBRARIES(SALOME_Container_No_NS_Serv SalomeContainerServer) + +ADD_EXECUTABLE(SALOME_Container_No_NS_Serv_OutProcess SALOME_Container_No_NS_Serv_OutProcess.cxx) +TARGET_LINK_LIBRARIES(SALOME_Container_No_NS_Serv_OutProcess SalomeContainerServer) -IF(SALOME_USE_TEST) +ADD_EXECUTABLE(SALOME_Container_No_NS_Serv_OutProcess_Replay SALOME_Container_No_NS_Serv_OutProcess_Replay.cxx) +TARGET_LINK_LIBRARIES(SALOME_Container_No_NS_Serv_OutProcess_Replay SalomeContainerServer) + +ADD_EXECUTABLE(SALOME_Container_No_NS_Serv_OutProcess_FT SALOME_Container_No_NS_Serv_OutProcess_FT.cxx) +TARGET_LINK_LIBRARIES(SALOME_Container_No_NS_Serv_OutProcess_FT SalomeContainerServer) + +ADD_EXECUTABLE(SALOME_Container_No_NS_Serv_OutProcess_Replay_FT SALOME_Container_No_NS_Serv_OutProcess_Replay_FT.cxx) +TARGET_LINK_LIBRARIES(SALOME_Container_No_NS_Serv_OutProcess_Replay_FT SalomeContainerServer) + +IF(SALOME_BUILD_TESTS) ADD_EXECUTABLE(TestSalome_file TestSalome_file.cxx) TARGET_LINK_LIBRARIES(TestSalome_file SALOMETraceCollectorTest ${SALOME_Container_LIBS}) -ENDIF(SALOME_USE_TEST) -INSTALL(TARGETS SALOME_Container DESTINATION ${KERNEL_salomebin_BINS}) +ENDIF() +INSTALL(TARGETS SALOME_Container SALOME_Container_No_NS_Serv SALOME_Container_No_NS_Serv_OutProcess SALOME_Container_No_NS_Serv_OutProcess_Replay SALOME_Container_No_NS_Serv_OutProcess_FT SALOME_Container_No_NS_Serv_OutProcess_Replay_FT DESTINATION ${SALOME_INSTALL_BINS}) # Executable scripts to be installed -SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${KERNEL_salomescript_PYTHON}) +SALOME_INSTALL_SCRIPTS("${SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") -INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${KERNEL_salomeinclude_HEADERS}) +INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) + +IF(SALOME_BUILD_TESTS) + ADD_SUBDIRECTORY(Test) +ENDIF(SALOME_BUILD_TESTS) + +SET(KernelContainer_HEADERS KernelContainer.hxx KernelContainer.i) +SET(KernelContainer_SOURCES KernelContainer.cxx ${KernelContainer_HEADERS}) +SET_SOURCE_FILES_PROPERTIES(KernelContainer.i PROPERTIES CPLUSPLUS ON) +SET_SOURCE_FILES_PROPERTIES(KernelContainer.i PROPERTIES SWIG_FLAGS "-py3") +SET_SOURCE_FILES_PROPERTIES(KernelContainer_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H") +SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/KernelContainer.py ) +IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") + SWIG_ADD_MODULE(KernelContainer python ${KernelContainer_SOURCES}) +ELSE() + SWIG_ADD_LIBRARY(KernelContainer LANGUAGE python SOURCES ${KernelContainer_SOURCES}) +ENDIF() +IF(${MACHINE} STREQUAL WINDOWS) + SET_TARGET_PROPERTIES(_KernelContainer PROPERTIES DEBUG_OUTPUT_NAME _KernelContainer_d) +ENDIF(${MACHINE} STREQUAL WINDOWS) +SWIG_LINK_LIBRARIES(KernelContainer ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} SalomeContainer SalomeKernelHelpers) +install(TARGETS _KernelContainer DESTINATION ${SALOME_INSTALL_LIBS}) +install(FILES ${KernelContainer_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) +SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}" ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_KernelContainer_REAL_NAME}") + +INSTALL(DIRECTORY ScriptsTemplate DESTINATION ${SALOME_KERNEL_INSTALL_RES_DATA}) \ No newline at end of file