Salome HOME
Merge branch 'Dev_0.6.1' of newgeom:newgeom into Dev_0.6.1
[modules/shaper.git] / src / XGUI / CMakeLists.txt
index ee41e8cb90dd4f6b7a88359071370a0ac99f2b21..26879a5e3e478af7648742a0ed7cc1e13734b073 100644 (file)
@@ -1,16 +1,27 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
+## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
-INCLUDE(Common)
-INCLUDE(FindQt5)
+
+SET(CMAKE_AUTOMOC ON)
 
 SET(PROJECT_HEADERS
-       XGUI_Command.h
-       XGUI_MainMenu.h
-       XGUI_MainWindow.h
-       XGUI_MenuGroupPanel.h
-       XGUI_Module.h
+       XGUI.h
+       XGUI_ActionsMgr.h
+       XGUI_ContextMenuMgr.h
+       XGUI_DataTreeModel.h
+       XGUI_Displayer.h
+       XGUI_DocumentDataModel.h
+       XGUI_ErrorDialog.h
+       XGUI_ModuleConnector.h
+       XGUI_ObjectsBrowser.h
+       XGUI_OperationMgr.h
+       XGUI_PartDataModel.h
+       XGUI_PropertyPanel.h
+       XGUI_QtEvents.h
+       XGUI_SalomeConnector.h
+       XGUI_Selection.h
+       XGUI_SelectionMgr.h
        XGUI_Tools.h
-       XGUI_Workbench.h
+       XGUI_ViewerProxy.h
        XGUI_Workshop.h
 )
 
@@ -19,13 +30,21 @@ SET(PROJECT_AUTOMOC
 )
 
 SET(PROJECT_SOURCES
-       XGUI_Command.cpp
-       XGUI_Main.cpp
-       XGUI_MainMenu.cpp
-       XGUI_MainWindow.cpp
-       XGUI_MenuGroupPanel.cpp
+       XGUI_ActionsMgr.cpp
+       XGUI_ContextMenuMgr.cpp
+       XGUI_Displayer.cpp
+       XGUI_DocumentDataModel.cpp
+       XGUI_ErrorDialog.cpp
+       XGUI_ModuleConnector.cpp
+       XGUI_ObjectsBrowser.cpp
+       XGUI_OperationMgr.cpp
+       XGUI_PartDataModel.cpp
+       XGUI_PropertyPanel.cpp
+       XGUI_QtEvents.cpp
+       XGUI_Selection.cpp
+       XGUI_SelectionMgr.cpp
        XGUI_Tools.cpp
-       XGUI_Workbench.cpp
+       XGUI_ViewerProxy.cpp
        XGUI_Workshop.cpp
 )
 
@@ -33,28 +52,80 @@ SET(PROJECT_RESOURCES
     XGUI_pictures.qrc
 )
 
+SET(PREFERENCES_XML
+       NewGeom.xml
+)
+
 SET(TEXT_RESOURCES
-       XGUI_msg_en.ts
+       XGUI_msg_fr.ts
 )
 
-QT5_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
-QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
+SET(PROJECT_LIBRARIES
+    Events
+    Config
+       ModelAPI
+       ModuleBase
+       AppElements
+       ${QT_LIBRARIES}
+       ${CAS_VIEWER}
+       ${CAS_KERNEL}
+       ${CAS_SHAPE}
+       ${PYTHON_LIBRARIES}
+       ${PyConsole}
+       ${PyInterp}
+       ${suit}
+       ${qtx}
+)
+
+IF(WIN32) 
+    SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} opengl32)
+ELSE()
+    SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} GL)
+ENDIF()
+
+QT4_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
+                                          )
+
 
 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
-SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES})
+#SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES})
+SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES} ${PREFERENCES_XML})
+
+ADD_DEFINITIONS( -DXGUI_EXPORTS ${CAS_DEFINITIONS} )
 
-ADD_DEFINITIONS(-DWIN32 -D_WINDOWS)
+INCLUDE_DIRECTORIES (${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/PartSetPlugin
+                                        ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
+                                        ${PROJECT_SOURCE_DIR}/src/AppElements
+                                        ${CAS_INCLUDE_DIRS}
+                                        ${SUIT_INCLUDE})
 
-ADD_EXECUTABLE(XGUI WIN32 
+LINK_DIRECTORIES($ENV{PYTHON_LIB_DIR})
+
+ADD_LIBRARY(XGUI SHARED 
        ${PROJECT_SOURCES} 
        ${PROJECT_HEADERS} 
        ${PROJECT_COMPILED_RESOURCES} 
-       ${TEXT_RESOURCES} 
+       ${TEXT_RESOURCES}
        ${QM_RESOURCES}
+       ${PREFERENCES_XML}
 )
 
+ADD_DEPENDENCIES(XGUI ModelAPI)
+
 # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
-TARGET_LINK_LIBRARIES(XGUI ${Qt5Widgets_LIBRARIES})
+TARGET_LINK_LIBRARIES(XGUI ${PROJECT_LIBRARIES})
 
 INSTALL(TARGETS XGUI DESTINATION bin)
 INSTALL(FILES ${QM_RESOURCES} DESTINATION bin)
+INSTALL(FILES ${PREFERENCES_XML} DESTINATION resources)