-# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2021 CEA/DEN, EDF R&D, 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(UseQtExt)
+
+# --- options ---
+
+# additional include directories
INCLUDE_DIRECTORIES(
${QT_INCLUDES}
- ${LIBXML2_INCLUDE_DIR}
- ${PYTHON_INCLUDE_DIRS}
- ${HDF5_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
- ${CAS_INCLUDE_DIRS}
+ ${PYTHON_INCLUDE_DIRS}
+ ${OpenCASCADE_INCLUDE_DIR}
${OMNIORB_INCLUDE_DIR}
- ${PTHREAD_INCLUDE_DIRS}
- ${KERNEL_INCLUDE_DIRS}
- ${CMAKE_BINARY_DIR}/idl
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/../Qtx
- ${CMAKE_CURRENT_SOURCE_DIR}/../SUIT
- ${CMAKE_CURRENT_SOURCE_DIR}/../Event
- ${CMAKE_CURRENT_SOURCE_DIR}/../Style
- ${CMAKE_CURRENT_SOURCE_DIR}/../CASCatch
+ ${PTHREAD_INCLUDE_DIR}
+ ${PROJECT_BINARY_DIR}
+ ${PROJECT_BINARY_DIR}/idl
+ ${PROJECT_SOURCE_DIR}/src/Qtx
+ ${PROJECT_SOURCE_DIR}/src/SUIT
+ ${PROJECT_SOURCE_DIR}/src/Event
+ ${PROJECT_SOURCE_DIR}/src/Style
+ ${PROJECT_SOURCE_DIR}/src/SUIT
+ ${PROJECT_SOURCE_DIR}/src/STD
+ ${PROJECT_SOURCE_DIR}/src/CAM
+ ${PROJECT_SOURCE_DIR}/src/OBJECT
+ ${PROJECT_SOURCE_DIR}/src/LightApp
+ ${PROJECT_SOURCE_DIR}/src/SalomeApp
+)
+
+# additional preprocessor / compiler flags
+ADD_DEFINITIONS(
+ ${QT_DEFINITIONS}
+ ${BOOST_DEFINITIONS}
+ ${PYTHON_DEFINITIONS}
+ ${OpenCASCADE_DEFINITIONS}
+ ${OMNIORB_DEFINITIONS}
)
-SET(COMMON_LIBS
+# libraries to link to
+SET(_link_LIBRARIES
+ ${QT_LIBRARIES}
+ ${OpenCASCADE_FoundationClasses_LIBRARIES}
+ ${OMNIORB_LIBRARIES}
+ ${KERNEL_ArgvKeeper}
${KERNEL_SalomeNS}
${KERNEL_SalomeLifeCycleCORBA}
${KERNEL_OpUtil}
${KERNEL_SALOMELocalTrace}
${KERNEL_SalomeCatalog}
${KERNEL_SalomeDSClient}
- ${CAS_KERNEL}
${KERNEL_with_loggerTraceCollector}
${KERNEL_SalomeIDLKernel}
${KERNEL_SalomeContainer}
- ${KERNEL_TOOLSDS}
${KERNEL_SalomeLauncher}
${KERNEL_Registry}
${KERNEL_SALOMEBasics}
- suit
- Event
- SalomeIDLGUI
- SalomeStyle
- ${QT_LIBRARIES}
+ qtx suit Event SalomeStyle SalomeApp SalomeIDLGUI
)
-ADD_DEFINITIONS(${QT_DEFINITIONS} ${LIBXML2_DEFINITIONS} ${PYTHON_DEFINITIONS} ${HDF5_DEFINITIONS} ${BOOST_DEFINITIONS} ${CAS_DEFINITIONS} ${OMNIORB_DEFINITIONS})
+# --- headers ---
+
+# header files / to install
+SET(SalomeSession_HEADERS
+ SALOME_Session.hxx
+ Session_ServerCheck.hxx
+ Session_ServerLauncher.hxx
+ Session_ServerThread.hxx
+ Session_Session_i.hxx
+ Session_Promises.hxx
+ Session_NS_wrapper.hxx
+)
+
+# --- resources ---
+
+# resource files / to be processed by lrelease
+SET(_ts_RESOURCES
+ resources/Session_msg_fr.ts
+)
-IF(ENABLE_TESTRECORDER)
- ADD_DEFINITIONS("-DENABLE_TESTRECORDER ${TESTRECORDER_DEFINITIONS}")
- SET(COMMON_LIBS ${COMMON_LIBS} ${TESTRECORDER_LIBS})
-ENDIF(ENABLE_TESTRECORDER)
+# --- sources ---
+# sources / to compile
SET(SalomeSession_SOURCES
- Session_Session_i.cxx
- Session_ServerThread.cxx
- Session_ServerLauncher.cxx
Session_ServerCheck.cxx
+ Session_ServerLauncher.cxx
+ Session_ServerThread.cxx
+ Session_Session_i.cxx
+ Session_Promises.cxx
+ Session_NS_wrapper.cxx
)
+
+# --- rules ---
+
ADD_LIBRARY(SalomeSession ${SalomeSession_SOURCES})
-TARGET_LINK_LIBRARIES(SalomeSession ${COMMON_LIBS})
+TARGET_LINK_LIBRARIES(SalomeSession ${_link_LIBRARIES})
INSTALL(TARGETS SalomeSession EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
-SET(SALOME_Session_Server_LIBS
- ${COMMON_LIBS}
- ${SalomeContainer}
- ${SalomeResourcesManager}
- ${TOOLSDS}
- ${SalomeHDFPersist}
- ${SalomeDSImpl}
- ${SalomeGenericObj}
- ${Registry}
- ${SalomeNotification}
- ${SALOMEBasics}
- ${SalomeLauncher}
- qtx
- SalomeIDLGUI
- SalomeSession
- ${HDF5_LIBRARIES}
- ${PYTHON_LIBRARIES}
- ${OMNIORB_LIBRARIES}
-)
-ADD_EXECUTABLE(SALOME_Session_Server SALOME_Session_Server.cxx)
-TARGET_LINK_LIBRARIES(SALOME_Session_Server ${SALOME_Session_Server_LIBS})
+ADD_EXECUTABLE(SALOME_Session_Server SALOME_Session_Server_With_Server.cxx)
+TARGET_LINK_LIBRARIES(SALOME_Session_Server ${_link_LIBRARIES} SalomeSession)
INSTALL(TARGETS SALOME_Session_Server EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
-SET(COMMON_HEADERS_H
- Session_Session_i.hxx
- SALOME_Session.hxx
- Session_ServerLauncher.hxx
- Session_ServerThread.hxx
- Session_ServerCheck.hxx
-)
-INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${SALOME_INSTALL_HEADERS})
+ADD_EXECUTABLE(SALOME_Session_Server_No_Server SALOME_Session_Server_No_Server.cxx)
+TARGET_LINK_LIBRARIES(SALOME_Session_Server_No_Server ${_link_LIBRARIES} SalomeSession)
+INSTALL(TARGETS SALOME_Session_Server_No_Server EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
+
+add_executable(salome2810 salome2810.cxx)
+target_link_libraries(salome2810 ${QT_LIBRARIES})
+install(TARGETS salome2810 DESTINATION ${SALOME_INSTALL_BINS})
+
+INSTALL(FILES ${SalomeSession_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
+QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}")