X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSalomeApp%2FCMakeLists.txt;h=f4b7549331756eaaa299c5a6db9f39716ba34104;hb=11a370454e581b8e532a2a58bff6cd18136ebafd;hp=f3f19140f7f64935452a41cae189ae4c7a4c1705;hpb=4b9752a1020be8da956a719df6bde322304f8944;p=modules%2Fgui.git diff --git a/src/SalomeApp/CMakeLists.txt b/src/SalomeApp/CMakeLists.txt index f3f19140f..f4b754933 100755 --- a/src/SalomeApp/CMakeLists.txt +++ b/src/SalomeApp/CMakeLists.txt @@ -1,9 +1,9 @@ -# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2015 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 @@ -18,158 +18,227 @@ # ADD_SUBDIRECTORY(pluginsdemo) - -IF(NOT SALOME_LIGHT_ONLY AND SALOME_BUILD_TESTS) +IF(SALOME_BUILD_TESTS) ADD_SUBDIRECTORY(Test) ENDIF() INCLUDE(UseQt4Ext) -INCLUDE(${VTK_USE_FILE}) +IF(SALOME_USE_VTKVIEWER) + INCLUDE(${VTK_USE_FILE}) +ENDIF() +# --- options --- + +# additional include directories INCLUDE_DIRECTORIES( ${CAS_INCLUDE_DIRS} ${QT_INCLUDES} ${QWT_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} - ${PYTHON_INCLUDE_DIRS} + ${PTHREAD_INCLUDE_DIR} ${OMNIORB_INCLUDE_DIR} - ${LIBXML2_INCLUDE_DIR} - ${PTHREAD_INCLUDE_DIRS} - ${KERNEL_INCLUDE_DIRS} - ${CMAKE_CURRENT_SOURCE_DIR}/../LightApp - ${CMAKE_CURRENT_SOURCE_DIR}/../CAM - ${CMAKE_CURRENT_SOURCE_DIR}/../Qtx - ${CMAKE_CURRENT_SOURCE_DIR}/../SUIT - ${CMAKE_CURRENT_SOURCE_DIR}/../OBJECT - ${CMAKE_CURRENT_SOURCE_DIR}/../SVTK - ${CMAKE_CURRENT_SOURCE_DIR}/../STD - ${CMAKE_CURRENT_SOURCE_DIR}/../VTKViewer - ${CMAKE_CURRENT_SOURCE_DIR}/../ObjBrowser - ${CMAKE_CURRENT_SOURCE_DIR}/../PyConsole - ${CMAKE_CURRENT_SOURCE_DIR}/../TOOLSGUI - ${CMAKE_CURRENT_SOURCE_DIR}/../PyInterp - ${CMAKE_CURRENT_SOURCE_DIR}/../Session ${PROJECT_BINARY_DIR}/idl - ${CMAKE_CURRENT_SOURCE_DIR}/../Event - ${CMAKE_CURRENT_SOURCE_DIR}/../CASCatch - ${CMAKE_CURRENT_SOURCE_DIR}/../Prs + ${PROJECT_SOURCE_DIR}/src/CAM + ${PROJECT_SOURCE_DIR}/src/CASCatch + ${PROJECT_SOURCE_DIR}/src/Event + ${PROJECT_SOURCE_DIR}/src/LightApp + ${PROJECT_SOURCE_DIR}/src/OBJECT + ${PROJECT_SOURCE_DIR}/src/ObjBrowser + ${PROJECT_SOURCE_DIR}/src/Prs + ${PROJECT_SOURCE_DIR}/src/Qtx + ${PROJECT_SOURCE_DIR}/src/STD + ${PROJECT_SOURCE_DIR}/src/SUIT + ${PROJECT_SOURCE_DIR}/src/SVTK + ${PROJECT_SOURCE_DIR}/src/TOOLSGUI + ${PROJECT_SOURCE_DIR}/src/VTKViewer ) +IF(SALOME_USE_PYCONSOLE) + INCLUDE_DIRECTORIES( + ${PYTHON_INCLUDE_DIRS} + ${PROJECT_SOURCE_DIR}/src/PyConsole + ${PROJECT_SOURCE_DIR}/src/PyConsoleBase + ${PROJECT_SOURCE_DIR}/src/PyInterp + ) +ENDIF() + +# additional preprocessor / compiler flags +ADD_DEFINITIONS( + ${QT_DEFINITIONS} + ${OMNIORB_DEFINITIONS} + ${QWT_DEFINITIONS} + ${CAS_DEFINITIONS} + ${BOOST_DEFINITIONS} +) -SET(COMMON_LIBS - ${PYTHON_LIBRARIES} - ${QT_LIBRARIES} - ${OpUtil} - ${SALOMELocalTrace} - ${SalomeDSClient} - suit - std - CAM - ObjBrowser - SalomePrs - SPlot2d - GLViewer - OCCViewer - VTKViewer - SalomeObject - SVTK - SOCC - PyInterp - PyConsole - LogWindow - LightApp - ToolsGUI - SalomeSession - Event - CASCatch - SalomePrs +IF(SALOME_USE_PYCONSOLE) + ADD_DEFINITIONS(${PYTHON_DEFINITIONS}) +ENDIF() + +# libraries to link to +SET(_link_LIBRARIES ${CAS_KERNEL} + ${QT_LIBRARIES} + ${PYTHON_LIBRARIES} + ${KERNEL_OpUtil} ${KERNEL_SALOMELocalTrace} ${KERNEL_SalomeDSClient} ${KERNEL_TOOLSDS} + CASCatch suit std CAM ObjBrowser SalomePrs Event + LogWindow LightApp SalomePrs ToolsGUI ) -SET(GUI_HEADERS +IF(SALOME_USE_VTKVIEWER) + LIST(APPEND _link_LIBRARIES VTKViewer SVTK) +ENDIF() + +IF(SALOME_USE_PYCONSOLE) + LIST(APPEND _link_LIBRARIES PyInterp PyConsole) +ENDIF() + +IF(SALOME_USE_GLVIEWER) + LIST(APPEND _link_LIBRARIES GLViewer) +ENDIF() + +IF(SALOME_USE_PLOT2DVIEWER) + LIST(APPEND _link_LIBRARIES Plot2d) + IF(SALOME_USE_SALOMEOBJECT) + LIST(APPEND _link_LIBRARIES SPlot2d) + ENDIF(SALOME_USE_SALOMEOBJECT) +ENDIF(SALOME_USE_PLOT2DVIEWER) + +IF(SALOME_USE_OCCVIEWER) + LIST(APPEND _link_LIBRARIES OCCViewer) + IF(SALOME_USE_SALOMEOBJECT) + LIST(APPEND _link_LIBRARIES SOCC) + ENDIF(SALOME_USE_SALOMEOBJECT) +ENDIF() + +IF(SALOME_USE_PVVIEWER) + LIST(APPEND _link_LIBRARIES PVViewer) +ENDIF() + +IF(SALOME_USE_SALOMEOBJECT) + LIST(APPEND _link_LIBRARIES SalomeObject) +ENDIF() + +IF(NOT SALOME_LIGHT_ONLY) + LIST(APPEND _link_LIBRARIES SalomeIDLGUI) + LIST(APPEND _link_LIBRARIES ${KERNEL_SalomeContainer}) + LIST(APPEND _link_LIBRARIES ${KERNEL_SalomeLifeCycleCORBA}) +ENDIF() + +# --- headers --- + +# header files / to be processed by moc +SET(_moc_HEADERS SalomeApp_Application.h + SalomeApp_CheckFileDlg.h SalomeApp_DataModel.h - SalomeApp_Module.h + SalomeApp_DoubleSpinBox.h + SalomeApp_ExitDlg.h + SalomeApp_IntSpinBox.h + SalomeApp_ListView.h SalomeApp_LoadStudiesDlg.h + SalomeApp_Module.h SalomeApp_Study.h SalomeApp_StudyPropertiesDlg.h - SalomeApp_ListView.h - SalomeApp_CheckFileDlg.h - SalomeApp_ExitDlg.h - SalomeApp_NoteBook.h - SalomeApp_DoubleSpinBox.h - SalomeApp_IntSpinBox.h ) -QT4_WRAP_CPP(GUI_HEADERS_MOC ${GUI_HEADERS}) -SET(SalomeApp_SOURCES - SalomeApp_Module.cxx +IF(SALOME_USE_PYCONSOLE) + LIST(APPEND _moc_HEADERS SalomeApp_NoteBook.h) +ENDIF() + +# header files / no moc processing +SET(_other_HEADERS + SalomeApp.h + SalomeApp_DataObject.h + SalomeApp_Engine_i.h + SalomeApp_ExceptionHandler.h + SalomeApp_Filter.h + SalomeApp_ImportOperation.h + SalomeApp_Tools.h + SalomeApp_TypeFilter.h + SalomeApp_VisualState.h +) + +IF(SALOME_USE_PYCONSOLE) + LIST(APPEND _other_HEADERS SalomeApp_PyInterp.h) +ENDIF() + +# header files / to install +SET(SalomeApp_HEADERS ${_moc_HEADERS} ${_other_HEADERS}) + +# --- resources --- + +# resource files / to be processed by lrelease +SET(_ts_RESOURCES + resources/SalomeApp_images.ts + resources/SalomeApp_msg_en.ts + resources/SalomeApp_msg_fr.ts + resources/SalomeApp_msg_ja.ts +) + +# resource files / static +SET(_other_RESOURCES + resources/SalomeApp.ini + resources/SalomeApp.xml +) + +# --- sources --- + +# sources / moc wrappings +QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS}) + +# sources / static +SET(_other_SOURCES SalomeApp_Application.cxx + SalomeApp_CheckFileDlg.cxx SalomeApp_DataModel.cxx SalomeApp_DataObject.cxx + SalomeApp_DoubleSpinBox.cxx + SalomeApp_Engine_i.cxx + SalomeApp_ExceptionHandler.cxx + SalomeApp_ExitDlg.cxx + SalomeApp_Filter.cxx + SalomeApp_ImportOperation.cxx + SalomeApp_IntSpinBox.cxx + SalomeApp_ListView.cxx SalomeApp_LoadStudiesDlg.cxx + SalomeApp_Module.cxx SalomeApp_Study.cxx - SalomeApp_ExceptionHandler.cxx - SalomeApp_PyInterp.cxx + SalomeApp_StudyPropertiesDlg.cxx SalomeApp_Tools.cxx - SalomeApp_ImportOperation.cxx - SalomeApp_Filter.cxx SalomeApp_TypeFilter.cxx - SalomeApp_StudyPropertiesDlg.cxx - SalomeApp_ListView.cxx - SalomeApp_CheckFileDlg.cxx SalomeApp_VisualState.cxx - SalomeApp_ExitDlg.cxx - SalomeApp_NoteBook.cxx - SalomeApp_DoubleSpinBox.cxx - SalomeApp_IntSpinBox.cxx - SalomeApp_Engine_i.cxx ) -SET(GUITS_SOURCES - resources/SalomeApp_images.ts - resources/SalomeApp_msg_en.ts - resources/SalomeApp_msg_fr.ts - resources/SalomeApp_msg_ja.ts -) +IF(SALOME_USE_PYCONSOLE) + LIST(APPEND _other_SOURCES SalomeApp_PyInterp.cxx SalomeApp_NoteBook.cxx) +ENDIF() -ADD_DEFINITIONS(${QT_DEFINITIONS} ${LIBXML2_DEFINITIONS} ${OMNIORB_DEFINITIONS} ${QWT_DEFINITIONS} ${CAS_DEFINITIONS} ${BOOST_DEFINITIONS} ${PYTHON_DEFINITIONS}) +# sources / to compile +SET(SalomeApp_SOURCES ${_other_SOURCES} ${_moc_SOURCES}) -ADD_LIBRARY(SalomeApp ${SalomeApp_SOURCES} ${GUI_HEADERS_MOC}) -TARGET_LINK_LIBRARIES(SalomeApp ${COMMON_LIBS}) -INSTALL(TARGETS SalomeApp EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) +# --- scripts --- -SET(COMMON_HEADERS_H - SalomeApp.h - SalomeApp_Application.h - SalomeApp_DataModel.h - SalomeApp_DataObject.h - SalomeApp_LoadStudiesDlg.h - SalomeApp_Module.h - SalomeApp_Study.h - SalomeApp_ExceptionHandler.h - SalomeApp_PyInterp.h - SalomeApp_Tools.h - SalomeApp_ImportOperation.h - SalomeApp_Filter.h - SalomeApp_TypeFilter.h - SalomeApp_StudyPropertiesDlg.h - SalomeApp_CheckFileDlg.h - SalomeApp_VisualState.h - SalomeApp_ExitDlg.h - SalomeApp_NoteBook.h - SalomeApp_DoubleSpinBox.h - SalomeApp_IntSpinBox.h - SalomeApp_Engine_i.h +# scripts / bin +SET(_bin_SCRIPTS + addvars2notebook.py +) + +# scripts / python +SET(_py_SCRIPTS + salome_pluginsmanager.py ) -INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${SALOME_INSTALL_HEADERS}) -QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}") +# --- rules --- + +ADD_LIBRARY(SalomeApp ${SalomeApp_SOURCES}) +TARGET_LINK_LIBRARIES(SalomeApp ${_link_LIBRARIES}) +INSTALL(TARGETS SalomeApp EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) + +INSTALL(FILES ${SalomeApp_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) +QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}") -FILE(GLOB GUIPNG_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.png") -SET(INST_DATA ${GUIPNG_DATA} resources/SalomeApp.ini resources/SalomeApp.xml) -INSTALL(FILES ${INST_DATA} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA}) +INSTALL(FILES ${_other_RESOURCES} DESTINATION ${SALOME_GUI_INSTALL_RES_DATA}) -# python modules -SALOME_INSTALL_SCRIPTS("salome_pluginsmanager.py" ${SALOME_INSTALL_PYTHON}) -SALOME_INSTALL_SCRIPTS("addvars2notebook.py" ${SALOME_INSTALL_SCRIPT_PYTHON}) +SALOME_INSTALL_SCRIPTS("${_py_SCRIPTS}" ${SALOME_INSTALL_PYTHON}) +SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON})