Salome HOME
Redesign SALOME documentation: update link to youtube channel
[modules/gui.git] / src / Qtx / CMakeLists.txt
index 6a3cba8de9b7ae02dbd7902de2f2e62959ef77ef..ad1337ffc18e4aa47753c5d305fe0bf4e354330e 100755 (executable)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2016  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(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/UseQT4EXT.cmake)
+INCLUDE(UseQtExt)
 
-INCLUDE_DIRECTORIES(
-  ${QT_INCLUDE_DIRS}
-)
+# --- options ---
+
+# additional include directories
+INCLUDE_DIRECTORIES(${QT_INCLUDES})
+
+# additional preprocessor / compiler flags
+ADD_DEFINITIONS(${QT_DEFINITIONS})
 
-SET(GUI_HEADERS   
+# libraries to link to
+SET(_link_LIBRARIES ${QT_LIBRARIES} ${OPENGL_LIBRARIES})
+
+# --- headers ---
+
+# header files / to be processed by moc
+SET(_moc_HEADERS   
   QtxAction.h
   QtxActionGroup.h
   QtxActionMenuMgr.h
@@ -39,17 +49,18 @@ SET(GUI_HEADERS
   QtxDockAction.h
   QtxDockWidget.h
   QtxDoubleSpinBox.h
+  QtxDoubleSpinSlider.h
   QtxFontEdit.h
   QtxGridBox.h
   QtxGroupBox.h
   QtxIntSpinBox.h
+  QtxIntSpinSlider.h
   QtxListAction.h
-  QtxTreeView.h
   QtxLogoMgr.h
+  QtxMRUAction.h
   QtxMainWindow.h
   QtxMenu.h
   QtxMultiAction.h
-  QtxMRUAction.h
   QtxPagePrefMgr.h
   QtxPathDialog.h
   QtxPathEdit.h
@@ -58,19 +69,60 @@ SET(GUI_HEADERS
   QtxRubberBand.h
   QtxSearchTool.h
   QtxShortcutEdit.h
+  QtxSlider.h
   QtxSplash.h
   QtxToolBar.h
+  QtxToolButton.h
   QtxToolTip.h
+  QtxTreeView.h
   QtxValidator.h
   QtxWorkspace.h
   QtxWorkspaceAction.h
   QtxWorkstack.h
   QtxWorkstackAction.h
-  QtxWebBrowser.h
 )
-QT4_WRAP_CPP(GUI_HEADERS_MOC ${GUI_HEADERS})
 
-SET(qtx_SOURCES
+IF(SALOME_GUI_ENABLE_QTXWEBBROWSER)
+  SET(_moc_HEADERS ${_moc_HEADERS}  QtxWebBrowser.h)
+ENDIF()
+
+# obsolete files: not migrated to Qt4
+# _moc_HEADERS << QtxListBox.h QtxTable.h
+# TODO: migrate or remove?
+
+# header files / no moc processing
+SET(_other_HEADERS
+  Qtx.h
+  QtxEvalExpr.h
+  QtxMap.h
+  QtxPreferenceMgr.h
+  QtxResourceMgr.h
+  QtxTranslator.h
+)
+
+# header files / to install
+SET(qtx_HEADERS ${_moc_HEADERS} ${_other_HEADERS})
+
+# --- resources ---
+
+# resource files / to be processed by rcc
+SET(_rcc_RESOURCES Qtx.qrc)
+
+# resource files / to be processed by lrelease
+SET(_ts_RESOURCES resources/Qtx_msg_fr.ts
+                  resources/Qtx_msg_ja.ts
+)
+
+# --- sources ---
+
+# sources / moc wrappings
+QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
+
+# sources / rcc wrappings
+QT_ADD_RESOURCES(_rcc_SOURCES ${_rcc_RESOURCES})
+
+# sources / static
+SET(_other_SOURCES
   Qtx.cxx
   QtxAction.cxx
   QtxActionGroup.cxx
@@ -87,18 +139,19 @@ SET(qtx_SOURCES
   QtxDockAction.cxx
   QtxDockWidget.cxx
   QtxDoubleSpinBox.cxx
+  QtxDoubleSpinSlider.cxx
   QtxEvalExpr.cxx
   QtxFontEdit.cxx
   QtxGridBox.cxx
   QtxGroupBox.cxx
   QtxIntSpinBox.cxx
+  QtxIntSpinSlider.cxx
   QtxListAction.cxx
-  QtxTreeView.cxx
   QtxLogoMgr.cxx
+  QtxMRUAction.cxx
   QtxMainWindow.cxx
   QtxMenu.cxx
   QtxMultiAction.cxx
-  QtxMRUAction.cxx
   QtxPagePrefMgr.cxx
   QtxPathDialog.cxx
   QtxPathEdit.cxx
@@ -109,76 +162,36 @@ SET(qtx_SOURCES
   QtxRubberBand.cxx
   QtxSearchTool.cxx
   QtxShortcutEdit.cxx
+  QtxSlider.cxx
   QtxSplash.cxx
   QtxToolBar.cxx
+  QtxToolButton.cxx
   QtxToolTip.cxx
   QtxTranslator.cxx
+  QtxTreeView.cxx
   QtxValidator.cxx
   QtxWorkspace.cxx
   QtxWorkspaceAction.cxx
   QtxWorkstack.cxx
   QtxWorkstackAction.cxx
-  QtxWebBrowser.cxx
-)
-SET(GUITS_SOURCES
-  resources/Qtx_msg_fr.ts
 )
 
-ADD_LIBRARY(qtx SHARED ${qtx_SOURCES} ${GUI_HEADERS_MOC})
-SET_TARGET_PROPERTIES(qtx PROPERTIES COMPILE_FLAGS "${QT_DEFINITIONS} ${PLATFORM_DEFINITIONS}")
-TARGET_LINK_LIBRARIES(qtx ${QT_MT_LIBS} ${OGL_LIBS})
-INSTALL(TARGETS qtx DESTINATION ${GUI_salomelib_LIBS})
+IF(SALOME_GUI_ENABLE_QTXWEBBROWSER)
+  SET(_other_SOURCES ${_other_SOURCES}  QtxWebBrowser.cxx)
+ENDIF()
 
-SET(COMMON_HEADERS_H
-  Qtx.h
-  QtxAction.h
-  QtxActionGroup.h
-  QtxActionMenuMgr.h
-  QtxActionMgr.h
-  QtxActionSet.h
-  QtxActionToolMgr.h
-  QtxBackgroundTool.h
-  QtxBiColorTool.h
-  QtxColorButton.h
-  QtxColorScale.h
-  QtxComboBox.h
-  QtxDialog.h
-  QtxDockAction.h
-  QtxDockWidget.h
-  QtxDoubleSpinBox.h
-  QtxEvalExpr.h
-  QtxFontEdit.h
-  QtxGridBox.h
-  QtxGroupBox.h
-  QtxIntSpinBox.h
-  QtxListAction.h
-  QtxTreeView.h
-  QtxLogoMgr.h
-  QtxMainWindow.h
-  QtxMap.h
-  QtxMenu.h
-  QtxMultiAction.h
-  QtxMRUAction.h
-  QtxPagePrefMgr.h
-  QtxPathDialog.h
-  QtxPathEdit.h
-  QtxPathListEdit.h
-  QtxPopupMgr.h
-  QtxPreferenceMgr.h
-  QtxResourceMgr.h
-  QtxRubberBand.h
-  QtxSearchTool.h
-  QtxShortcutEdit.h
-  QtxSplash.h
-  QtxToolBar.h
-  QtxToolTip.h
-  QtxTranslator.h
-  QtxValidator.h
-  QtxWorkspace.h
-  QtxWorkspaceAction.h
-  QtxWorkstack.h
-  QtxWorkstackAction.h
-  QtxWebBrowser.h
-)
-INSTALL(FILES ${COMMON_HEADERS_H} DESTINATION ${GUI_salomeinclude_HEADERS})
-QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${GUI_salomeres_DATA}")
+# obsolete files: not migrated to Qt4
+# _other_SOURCES << QtxListBox.cxx QtxTable.cxx
+# TODO: migrate or remove?
+
+# sources / to compile
+SET(qtx_SOURCES ${_other_SOURCES} ${_moc_SOURCES} ${_rcc_SOURCES})
+
+# --- rules ---
+
+ADD_LIBRARY(qtx ${qtx_SOURCES})
+TARGET_LINK_LIBRARIES(qtx ${_link_LIBRARIES})
+INSTALL(TARGETS qtx EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
+
+INSTALL(FILES ${qtx_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
+QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_GUI_INSTALL_RES_DATA}")