Salome HOME
#2027 Sketcher Trim feature - highlight should be cleared when the mouse is moved...
[modules/shaper.git] / src / XGUI / CMakeLists.txt
index 8c9244e52392af267ea209b8dbd0fb887c13ce12..f276b4f7a2f87a4015a29d2a12d5b0bbfa8013c1 100644 (file)
+## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
-SET(CMAKE_AUTOMOC ON)
+INCLUDE(UseQtExt)
+
+# additional include directories
+INCLUDE_DIRECTORIES(${QT_INCLUDES})
+
+# additional preprocessor / compiler flags
+ADD_DEFINITIONS(${QT_DEFINITIONS})
 
 SET(PROJECT_HEADERS
-       XGUI.h
-       XGUI_Command.h
-       XGUI_Displayer.h
-       XGUI_MainMenu.h
-       XGUI_MainWindow.h
-       XGUI_MenuGroupPanel.h
-       XGUI_Module.h
-       XGUI_Tools.h
-       XGUI_Workbench.h
-       XGUI_Workshop.h
-    XGUI_ViewWindow.h
-    XGUI_ViewPort.h
-    XGUI_Viewer.h
-       XGUI_RubberBand.h
-       XGUI_Constants.h
-       XGUI_ViewBackground.h
-       XGUI_DocumentDataModel.h
-       XGUI_PartDataModel.h
-       XGUI_ObjectsBrowser.h
-       XGUI_OperationMgr.h
-    XGUI_DataTreeModel.h
-    XGUI_SelectionMgr.h
-    XGUI_SalomeConnector.h
+    XGUI.h
     XGUI_ActionsMgr.h
+    XGUI_ColorDialog.h
+    XGUI_ContextMenuMgr.h
+    XGUI_CustomPrs.h
+    XGUI_DataModel.h
+    XGUI_DeflectionDialog.h
+    XGUI_Displayer.h
     XGUI_ErrorDialog.h
-    XGUI_SalomeViewer.h
-    XGUI_ViewerProxy.h
-    XGUI_ViewerPrs.h
+    XGUI_ErrorMgr.h
+    XGUI_HistoryMenu.h
+    XGUI_MenuGroup.h
+    XGUI_MenuMgr.h
+    XGUI_MenuWorkbench.h
+    XGUI_ModuleConnector.h
+    XGUI_ObjectsBrowser.h
+    XGUI_OperationMgr.h
     XGUI_PropertyPanel.h
+    XGUI_QtEvents.h
+    XGUI_SalomeConnector.h
+    XGUI_Selection.h
+    XGUI_SelectionMgr.h
+    XGUI_Tools.h
+    XGUI_ViewerProxy.h
+    XGUI_Workshop.h
+    XGUI_WorkshopListener.h
+)
+
+SET(PROJECT_MOC_HEADERS
+    XGUI_ActionsMgr.h
+    XGUI_ColorDialog.h
     XGUI_ContextMenuMgr.h
+    XGUI_DataModel.h
+    XGUI_DeflectionDialog.h
+    XGUI_Displayer.h
+    XGUI_ErrorDialog.h
+    XGUI_ErrorMgr.h
+    XGUI_HistoryMenu.h
     XGUI_ModuleConnector.h
+    XGUI_ObjectsBrowser.h
+    XGUI_OperationMgr.h
+    XGUI_PropertyPanel.h
+    XGUI_SelectionMgr.h
+    XGUI_ViewerProxy.h
+    XGUI_Workshop.h
+    XGUI_WorkshopListener.h
 )
 
-SET(PROJECT_AUTOMOC 
-    ${CMAKE_CURRENT_BINARY_DIR}/XGUI_automoc.cpp
-)
+# sources / moc wrappings
+QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_MOC_HEADERS})
 
 SET(PROJECT_SOURCES
-       XGUI_Command.cpp
-       XGUI_Displayer.cpp
-       XGUI_MainMenu.cpp
-       XGUI_MainWindow.cpp
-       XGUI_MenuGroupPanel.cpp
-       XGUI_Tools.cpp
-       XGUI_Workbench.cpp
-       XGUI_Workshop.cpp
-    XGUI_ViewWindow.cpp
-    XGUI_ViewPort.cpp
-    XGUI_Viewer.cpp
-       XGUI_RubberBand.cpp
-       XGUI_ViewBackground.cpp
-       XGUI_DocumentDataModel.cpp
-       XGUI_PartDataModel.cpp
-       XGUI_ObjectsBrowser.cpp
-       XGUI_OperationMgr.cpp
-    XGUI_SelectionMgr.cpp
     XGUI_ActionsMgr.cpp
-    XGUI_ErrorDialog.cpp
-    XGUI_ViewerProxy.cpp
-    XGUI_ViewerPrs.cpp
-    XGUI_PropertyPanel.cpp
+    XGUI_ColorDialog.cpp
     XGUI_ContextMenuMgr.cpp
+    XGUI_CustomPrs.cpp
+    XGUI_DataModel.cpp
+    XGUI_DeflectionDialog.cpp
+    XGUI_Displayer.cpp
+    XGUI_ErrorDialog.cpp
+    XGUI_ErrorMgr.cpp
+    XGUI_HistoryMenu.cpp
+    XGUI_MenuGroup.cpp
+    XGUI_MenuMgr.cpp
+    XGUI_MenuWorkbench.cpp
     XGUI_ModuleConnector.cpp
+    XGUI_ObjectsBrowser.cpp
+    XGUI_OperationMgr.cpp
+    XGUI_PropertyPanel.cpp
+    XGUI_QtEvents.cpp
+    XGUI_SalomeConnector.cpp
+    XGUI_Selection.cpp
+    XGUI_SelectionMgr.cpp
+    XGUI_Tools.cpp
+    XGUI_ViewerProxy.cpp
+    XGUI_Workshop.cpp
+    XGUI_WorkshopListener.cpp
 )
 
-SET(PROJECT_RESOURCES 
+SET(PROJECT_RESOURCES
     XGUI_pictures.qrc
 )
 
+SET(PREFERENCES_XML
+    SHAPER.xml
+)
+
 SET(TEXT_RESOURCES
-       XGUI_msg_fr.ts
+    XGUI_msg_fr.ts
 )
 
 SET(PROJECT_LIBRARIES
     Events
     Config
-       ${QT_LIBRARIES}
-       ${CAS_VIEWER}
-       ${CAS_KERNEL}
-       PyConsole
-       PyInterp
-       PyEvent
-       ModelAPI
-       ModuleBase
+    ModelAPI
+    ModuleBase
+    ${QT_LIBRARIES}
+    ${CAS_VIEWER}
+    ${CAS_KERNEL}
+    ${CAS_SHAPE}
+    ${PYTHON_LIBRARIES}
+    ${PyConsole}
+    ${PyInterp}
+    ${suit}
+    ${qtx}
 )
 
-IF(WIN32) 
+IF(NOT ${HAVE_SALOME})
+    SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} AppElements)
+ENDIF(NOT ${HAVE_SALOME})
+
+
+IF(WIN32)
     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} opengl32)
 ELSE()
     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} GL)
 ENDIF()
 
-QT4_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
+QT_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
 #QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
-
-QT4_CREATE_TRANSLATION(QM_RESOURCES 
-                                          ${PROJECT_SOURCES}
-                                          ${TEXT_RESOURCES}
-                                          OPTIONS -extensions cpp -no-recursive
-                                          )
+# QT4_CREATE_TRANSLATION(QM_RESOURCES
+#                        ${PROJECT_SOURCES}
+#                        ${TEXT_RESOURCES}
+#                        OPTIONS -extensions cpp -no-recursive
+#                        )
 
 
 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
 #SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES})
-SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES})
+SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES} ${PREFERENCES_XML})
 
 ADD_DEFINITIONS( -DXGUI_EXPORTS ${CAS_DEFINITIONS} )
 
-INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/src/Events
-                                        ${PROJECT_SOURCE_DIR}/src/Config
-                                        ${PROJECT_SOURCE_DIR}/src/PyInterp
-                                        ${PROJECT_SOURCE_DIR}/src/PyConsole
-                                        ${PROJECT_SOURCE_DIR}/src/ModelAPI
-                                        ${PROJECT_SOURCE_DIR}/src/GeomAPI
-                                    ${PROJECT_SOURCE_DIR}/src/Model
-                                        ${PROJECT_SOURCE_DIR}/src/ModuleBase
-                                        ${PROJECT_SOURCE_DIR}/src/PartSetPlugin
-                                        ${CAS_INCLUDE_DIRS})
+SET(PROJECT_INCLUDES
+    ${PROJECT_SOURCE_DIR}/src/Events
+    ${PROJECT_SOURCE_DIR}/src/Config
+    ${PROJECT_SOURCE_DIR}/src/ModelAPI
+    ${PROJECT_SOURCE_DIR}/src/GeomAPI
+    ${PROJECT_SOURCE_DIR}/src/ModuleBase
+    ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
+    ${CAS_INCLUDE_DIRS}
+    ${SUIT_INCLUDE})
+
+IF(${HAVE_SALOME})
+  INCLUDE_DIRECTORIES(${SALOME_KERNEL_INCLUDE})
+ENDIF(${HAVE_SALOME})
+
+IF(NOT ${HAVE_SALOME})
+    SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${APPELEMENTS_INCLUDE_DIR})
+ENDIF(NOT ${HAVE_SALOME})
+
+IF(TKTInspector)
+    message("TINSPECTOR is defined")
+    SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} ${TKTInspector} ${TKVInspector})
+    SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${TINSPECTOR_INCLUDE_DIR})
+
+    ADD_DEFINITIONS(-DTINSPECTOR)
+ENDIF()
+
+INCLUDE_DIRECTORIES(${PROJECT_INCLUDES})
 
 LINK_DIRECTORIES($ENV{PYTHON_LIB_DIR})
 
-ADD_LIBRARY(XGUI SHARED 
-       ${PROJECT_SOURCES} 
-       ${PROJECT_HEADERS} 
-       ${PROJECT_COMPILED_RESOURCES} 
-       ${TEXT_RESOURCES}
-       ${QM_RESOURCES}
+ADD_LIBRARY(XGUI SHARED
+    ${PROJECT_SOURCES}
+    ${PROJECT_HEADERS}
+    ${PROJECT_COMPILED_RESOURCES}
+    ${TEXT_RESOURCES}
+    ${QM_RESOURCES}
+    ${PREFERENCES_XML}
+    ${PROJECT_AUTOMOC}
 )
 
 ADD_DEPENDENCIES(XGUI ModelAPI)
@@ -136,5 +187,7 @@ ADD_DEPENDENCIES(XGUI ModelAPI)
 # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
 TARGET_LINK_LIBRARIES(XGUI ${PROJECT_LIBRARIES})
 
-INSTALL(TARGETS XGUI DESTINATION bin)
-INSTALL(FILES ${QM_RESOURCES} DESTINATION bin)
+INSTALL(TARGETS XGUI DESTINATION ${SHAPER_INSTALL_BIN})
+INSTALL(FILES ${QM_RESOURCES} DESTINATION ${SHAPER_INSTALL_QM_RESOURCES})
+INSTALL(FILES ${PREFERENCES_XML} DESTINATION ${SHAPER_INSTALL_RESOURCES})
+INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_RESOURCES})