diff --git a/CMakeLists.txt b/CMakeLists.txt index 1624f3300c..8ddeecbb5d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,6 +70,9 @@ IF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION) OUTPUT_VARIABLE CMAKE_CXX_COMPILER_VERSION) ENDIF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION) +# Switch to build FreeCAD with Qt5 +OPTION(BUILD_QT5 "Build with Qt5." OFF) + # Enabled C++11 for Freecad 0.17 and later IF(FREECAD_VERSION VERSION_GREATER 0.16) OPTION(BUILD_ENABLE_CXX11 "Enable C++11 support." ON) @@ -674,41 +677,62 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # -------------------------------- Qt -------------------------------- -# sets ${QT_LIBRARIES} - - # If using MacPorts, help the Qt4 finder. - if(MACPORTS_PREFIX) - if(NOT QT_QMAKE_EXECUTABLE) - set(QT_QMAKE_EXECUTABLE ${MACPORTS_PREFIX}/libexec/qt4/bin/qmake) + if (NOT BUILD_QT5) + # If using MacPorts, help the Qt4 finder. + if(MACPORTS_PREFIX) + if(NOT QT_QMAKE_EXECUTABLE) + set(QT_QMAKE_EXECUTABLE ${MACPORTS_PREFIX}/libexec/qt4/bin/qmake) + endif() endif() - endif() - SET(QT_MIN_VERSION 4.5.0) - set(QT_USE_QTNETWORK TRUE) - set(QT_USE_QTXML TRUE) - if(BUILD_GUI) - set(QT_USE_QTOPENGL TRUE) - set(QT_USE_QTSVG TRUE) - set(QT_USE_QTUITOOLS TRUE) - set(QT_USE_QTWEBKIT TRUE) - endif(BUILD_GUI) + SET(QT_MIN_VERSION 4.5.0) + set(QT_USE_QTNETWORK TRUE) + set(QT_USE_QTXML TRUE) + if(BUILD_GUI) + set(QT_USE_QTOPENGL TRUE) + set(QT_USE_QTSVG TRUE) + set(QT_USE_QTUITOOLS TRUE) + set(QT_USE_QTWEBKIT TRUE) + endif(BUILD_GUI) - find_package(Qt4)# REQUIRED + find_package(Qt4)# REQUIRED - include(${QT_USE_FILE}) + include(${QT_USE_FILE}) - IF(NOT QT4_FOUND) - MESSAGE(FATAL_ERROR "========================\n" - "Qt4 libraries not found.\n" - "========================\n") - ENDIF(NOT QT4_FOUND) + IF(NOT QT4_FOUND) + MESSAGE(FATAL_ERROR "========================\n" + "Qt4 libraries not found.\n" + "========================\n") + ENDIF(NOT QT4_FOUND) - IF(NOT QT_QTWEBKIT_FOUND) - MESSAGE("========================================================\n" - "Qt Webkit not found, will not build browser integration.\n" - "========================================================\n") - ENDIF(NOT QT_QTWEBKIT_FOUND) + IF(NOT QT_QTWEBKIT_FOUND) + MESSAGE("========================================================\n" + "Qt Webkit not found, will not build browser integration.\n" + "========================================================\n") + ENDIF(NOT QT_QTWEBKIT_FOUND) + elseif (BUILD_QT5) + find_package(Qt5Network) + find_package(Qt5Xml) + if(BUILD_GUI) + find_package(Qt5Widgets) + find_package(Qt5PrintSupport) + find_package(Qt5OpenGL) + find_package(Qt5Svg) + find_package(Qt5UiTools) + find_package(Qt5Network) + find_package(Qt5Concurrent) + #find_package(Qt5WebEngine) + endif(BUILD_GUI) + + IF(NOT Qt5Core_FOUND) + MESSAGE(FATAL_ERROR "========================\n" + "Qt5 libraries not found.\n" + "========================\n") + ENDIF(NOT Qt5Core_FOUND) + + include(Qt4Macros) + endif (NOT BUILD_QT5) # This is a special version of the built in macro qt4_wrap_cpp # It is required since moc'ed files are now included instead of being added to projects directly diff --git a/src/App/CMakeLists.txt b/src/App/CMakeLists.txt index c1905a7e68..be7a213135 100644 --- a/src/App/CMakeLists.txt +++ b/src/App/CMakeLists.txt @@ -50,6 +50,23 @@ set(FreeCADApp_LIBS ${QT_QTXML_LIBRARY} ) +if (BUILD_QT5) + include_directories( + ${Qt5Xml_INCLUDE_DIRS} + ) + list(APPEND FreeCADApp_LIBS + ${Qt5Core_LIBRARIES} + ${Qt5Xml_LIBRARIES} + ) +else() + include_directories( + ${QT_QTCORE_INCLUDE_DIR} + ) + list(APPEND FreeCADApp_LIBS + ${QT_QTCORE_LIBRARY} + ) +endif() + generate_from_xml(DocumentPy) generate_from_xml(DocumentObjectPy) generate_from_xml(ExtensionPy) diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index 85ac936e03..30f40e0ded 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -12,7 +12,6 @@ include_directories( ${Boost_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS} ${XercesC_INCLUDE_DIRS} - ${QT_QTCORE_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ${PYCXX_INCLUDE_DIR} ) @@ -23,7 +22,6 @@ if(MSVC) ${PYTHON_LIBRARIES} debug ${XercesC_DEBUG_LIBRARIES} optimized ${XercesC_LIBRARIES} - ${QT_QTCORE_LIBRARY} ${ZLIB_LIBRARIES} debug MSVCRTD.LIB debug MSVCPRTD.LIB @@ -36,7 +34,6 @@ elseif(MINGW) set(FreeCADBase_LIBS ${PYTHON_LIBRARIES} ${XercesC_LIBRARIES} - ${QT_QTCORE_LIBRARY} ${Boost_LIBRARIES} ${ZLIB_LIBRARIES} Rpcrt4.lib @@ -45,12 +42,23 @@ else(MSVC) set(FreeCADBase_LIBS ${PYTHON_LIBRARIES} ${XercesC_LIBRARIES} - ${QT_QTCORE_LIBRARY} ${Boost_LIBRARIES} ${ZLIB_LIBRARIES} ) endif(MSVC) +if (BUILD_QT5) + include_directories( + ${Qt5Core_INCLUDE_DIRS} + ) + list(APPEND FreeCADBase_LIBS ${Qt5Core_LIBRARIES}) +else() + include_directories( + ${QT_QTCORE_INCLUDE_DIR} + ) + list(APPEND FreeCADBase_LIBS ${QT_QTCORE_LIBRARY}) +endif() + # needed for OpenSUSE if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") list(APPEND FreeCADBase_LIBS -lutil -ldl) @@ -148,6 +156,7 @@ set(FreeCADBase_MOC_HDRS Debugger.h FutureWatcherProgress.h ) + fc_wrap_cpp(FreeCADBase_MOC_SRCS ${FreeCADBase_MOC_HDRS}) SET(FreeCADBase_UNITAPI_SRCS diff --git a/src/Gui/CMakeLists.txt b/src/Gui/CMakeLists.txt index 28a50c31c2..d946c3ac5d 100644 --- a/src/Gui/CMakeLists.txt +++ b/src/Gui/CMakeLists.txt @@ -47,21 +47,47 @@ if(MSVC) set(FreeCADGui_LIBS FreeCADApp ${COIN3D_LIBRARIES} - ${QT_LIBRARIES} - ${QT_QTUITOOLS_LIBRARY} ${OPENGL_gl_LIBRARY} ) else(MSVC) set(FreeCADGui_LIBS FreeCADApp ${COIN3D_LIBRARIES} - ${QT_LIBRARIES} ${Boost_LIBRARIES} ${OPENGL_gl_LIBRARY} ${3DCONNEXION_LINKFLAGS} ) endif(MSVC) +if (BUILD_QT5) + include_directories( + ${Qt5Core_INCLUDE_DIRS} + ${Qt5Widgets_INCLUDE_DIRS} + ${Qt5OpenGL_INCLUDE_DIRS} + ${Qt5PrintSupport_INCLUDE_DIRS} + ${Qt5Svg_INCLUDE_DIRS} + ${Qt5Network_INCLUDE_DIRS} + ${Qt5UiTools_INCLUDE_DIRS} + ) + list(APPEND FreeCADGui_LIBS + ${Qt5Core_LIBRARIES} + ${Qt5Widgets_LIBRARIES} + ${Qt5OpenGL_LIBRARIES} + ${Qt5PrintSupport_LIBRARIES} + ${Qt5Svg_LIBRARIES} + ${Qt5Network_LIBRARIES} + ${Qt5UiTools_LIBRARIES} + ) +else() + include_directories( + ${QT_INCLUDE_DIR} + ) + list(APPEND FreeCADGui_LIBS + ${QT_LIBRARIES} + ${QT_QTUITOOLS_LIBRARY} + ) +endif() + IF(SPNAV_FOUND) add_definitions(-DSPNAV_FOUND) include_directories( @@ -89,7 +115,10 @@ IF(OCULUS_FOUND) ENDIF(OCULUS_FOUND) if(SHIBOKEN_INCLUDE_DIR) - add_definitions(-DHAVE_SHIBOKEN) + if (BUILD_QT5) + else() + add_definitions(-DHAVE_SHIBOKEN) + endif() include_directories( ${SHIBOKEN_INCLUDE_DIR} ) @@ -99,7 +128,10 @@ if(SHIBOKEN_INCLUDE_DIR) endif(SHIBOKEN_INCLUDE_DIR) if(PYSIDE_INCLUDE_DIR) - add_definitions(-DHAVE_PYSIDE) + if (BUILD_QT5) + else() + add_definitions(-DHAVE_PYSIDE) + endif() include_directories( ${PYSIDE_INCLUDE_DIR} ${PYSIDE_INCLUDE_DIR}/QtCore @@ -256,15 +288,23 @@ set(Gui_MOC_HDRS DAGView/DAGView.h DAGView/DAGModel.h ) -#qt4_wrap_cpp(Gui_MOC_SRCS ${Gui_MOC_HDRS}) + fc_wrap_cpp(Gui_MOC_SRCS ${Gui_MOC_HDRS}) #SOURCE_GROUP("Moc" FILES ${Gui_MOC_SRCS}) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp - COMMAND ${QT_MOC_EXECUTABLE} -o ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp ${CMAKE_CURRENT_SOURCE_DIR}/GraphvizView.cpp - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/GraphvizView.cpp) +if (BUILD_QT5) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp + COMMAND ${Qt5Core_MOC_EXECUTABLE} -o ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp ${CMAKE_CURRENT_SOURCE_DIR}/GraphvizView.cpp + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/GraphvizView.cpp) -set_property(SOURCE GraphvizView.cpp APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp) + set_property(SOURCE GraphvizView.cpp APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp) +else() + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp + COMMAND ${QT_MOC_EXECUTABLE} -o ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp ${CMAKE_CURRENT_SOURCE_DIR}/GraphvizView.cpp + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/GraphvizView.cpp) + + set_property(SOURCE GraphvizView.cpp APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/moc_GraphvizView-internal.cpp) +endif() SET(Gui_UIC_SRCS AboutApplication.ui @@ -325,9 +365,14 @@ SET(Gui_RES_SRCS iisTaskPanel/src/iisTaskPanel.qrc QSint/actionpanel/schemes.qrc ) -QT4_ADD_RESOURCES(Gui_QRC_SRCS ${Gui_RES_SRCS}) -QT4_WRAP_UI(Gui_UIC_HDRS ${Gui_UIC_SRCS}) +if (BUILD_QT5) + QT5_ADD_RESOURCES(Gui_QRC_SRCS ${Gui_RES_SRCS}) + QT5_WRAP_UI(Gui_UIC_HDRS ${Gui_UIC_SRCS}) +else() + QT4_ADD_RESOURCES(Gui_QRC_SRCS ${Gui_RES_SRCS}) + QT4_WRAP_UI(Gui_UIC_HDRS ${Gui_UIC_SRCS}) +endif() SOURCE_GROUP("Uic" FILES ${Gui_UIC_HDRS}) # The command sources @@ -685,7 +730,12 @@ set(iis_MOC_HDRS iisTaskPanel/src/iistaskgroup.h iisTaskPanel/src/iistaskheader.h ) -qt4_wrap_cpp(iis_MOC_SRCS ${iis_MOC_HDRS}) + +if (BUILD_QT5) + qt5_wrap_cpp(iis_MOC_SRCS ${iis_MOC_HDRS}) +else() + qt4_wrap_cpp(iis_MOC_SRCS ${iis_MOC_HDRS}) +endif() SOURCE_GROUP("Widget\\iisTaskPanel\\Mocs" FILES ${iis_MOC_SRCS}) SET(qsintActionPanel_SRCS @@ -722,7 +772,11 @@ set(qsint_MOC_HDRS QSint/actionpanel/actionpanel.h QSint/actionpanel/taskheader_p.h ) -qt4_wrap_cpp(qsint_MOC_SRCS ${qsint_MOC_HDRS}) +if(BUILD_QT5) + qt5_wrap_cpp(qsint_MOC_SRCS ${qsint_MOC_HDRS}) +else() + qt4_wrap_cpp(qsint_MOC_SRCS ${qsint_MOC_HDRS}) +endif() SOURCE_GROUP("Widget\\QSintActionPanel\\Mocs" FILES ${qsint_MOC_SRCS}) #SET(Resource_RCS @@ -790,8 +844,12 @@ SET(Quarter_MOC_HDR Quarter/eventhandlers/DragDropHandler.h Quarter/eventhandlers/EventFilter.h Quarter/QuarterWidget.h -) -qt4_wrap_cpp(Quarter_MOC_SRCS ${Quarter_MOC_HDR}) +) +if(BUILD_QT5) + qt5_wrap_cpp(Quarter_MOC_SRCS ${Quarter_MOC_HDR}) +else() + qt4_wrap_cpp(Quarter_MOC_SRCS ${Quarter_MOC_HDR}) +endif() SET(Quarter_SRCS ${Quarter_CPP_SRC} diff --git a/src/Main/CMakeLists.txt b/src/Main/CMakeLists.txt index 9c42c396cc..3432ff54e4 100644 --- a/src/Main/CMakeLists.txt +++ b/src/Main/CMakeLists.txt @@ -29,16 +29,15 @@ if(BUILD_GUI) MainGui.cpp ) - if(MSVC) - SET(FreeCAD_LIBS - FreeCADGui + SET(FreeCAD_LIBS + FreeCADGui + ) + + if (MSVC AND NOT BUILD_QT5) + list(APPEND FreeCAD_LIBS ${QT_QTMAIN_LIBRARY} ) - else(MSVC) - SET(FreeCAD_LIBS - FreeCADGui - ) - endif(MSVC) + endif() add_executable(FreeCADMain WIN32 ${FreeCAD_SRCS}) target_link_libraries(FreeCADMain ${FreeCAD_LIBS}) @@ -63,10 +62,24 @@ SET(FreeCADMainCmd_SRCS ) add_executable(FreeCADMainCmd ${FreeCADMainCmd_SRCS}) -target_link_libraries(FreeCADMainCmd +SET(FreeCADMainCmd_LIBS FreeCADApp - ${QT_QTCORE_LIBRARY} - ${QT_QTXML_LIBRARY} +) + +if (BUILD_QT5) + list(APPEND FreeCADMainCmd_LIBS + ${Qt5Core_LIBRARIES} + ${Qt5Xml_LIBRARIES} + ) +else() + list(APPEND FreeCADMainCmd_LIBS + ${QT_QTCORE_LIBRARY} + ${QT_QTXML_LIBRARY} + ) +endif() + +target_link_libraries(FreeCADMainCmd + ${FreeCADMainCmd_LIBS} ) SET_BIN_DIR(FreeCADMainCmd FreeCADCmd) diff --git a/src/Mod/Complete/Gui/CMakeLists.txt b/src/Mod/Complete/Gui/CMakeLists.txt index 185f2a7941..669ca07efd 100644 --- a/src/Mod/Complete/Gui/CMakeLists.txt +++ b/src/Mod/Complete/Gui/CMakeLists.txt @@ -12,7 +12,11 @@ set(CompleteGui_LIBS FreeCADGui ) -qt4_add_resources(Complete_QRC_SRCS Resources/Complete.qrc) +if (BUILD_QT5) + qt5_add_resources(Complete_QRC_SRCS Resources/Complete.qrc) +else() + qt4_add_resources(Complete_QRC_SRCS Resources/Complete.qrc) +endif() SET(CompleteGui_SRCS ${Complete_QRC_SRCS} diff --git a/src/Mod/Drawing/Gui/CMakeLists.txt b/src/Mod/Drawing/Gui/CMakeLists.txt index c13e06efb0..7b78b1e63a 100644 --- a/src/Mod/Drawing/Gui/CMakeLists.txt +++ b/src/Mod/Drawing/Gui/CMakeLists.txt @@ -35,13 +35,17 @@ set(DrawingGui_MOC_HDRS fc_wrap_cpp(DrawingGui_MOC_SRCS ${DrawingGui_MOC_HDRS}) SOURCE_GROUP("Moc" FILES ${DrawingGui_MOC_SRCS}) -qt4_add_resources(DrawingGui_SRCS Resources/Drawing.qrc) - set(DrawingGui_UIC_SRCS TaskOrthoViews.ui ) -qt4_wrap_ui(DrawingGui_UIC_HDRS ${DrawingGui_UIC_SRCS}) +if(BUILD_QT5) + qt5_add_resources(DrawingGui_SRCS Resources/Drawing.qrc) + qt5_wrap_ui(DrawingGui_UIC_HDRS ${DrawingGui_UIC_SRCS}) +else() + qt4_add_resources(DrawingGui_SRCS Resources/Drawing.qrc) + qt4_wrap_ui(DrawingGui_UIC_HDRS ${DrawingGui_UIC_SRCS}) +endif() SET(DrawingGui_SRCS ${DrawingGui_SRCS} diff --git a/src/Mod/Fem/Gui/CMakeLists.txt b/src/Mod/Fem/Gui/CMakeLists.txt index c42ea4cee3..195a0c002d 100755 --- a/src/Mod/Fem/Gui/CMakeLists.txt +++ b/src/Mod/Fem/Gui/CMakeLists.txt @@ -116,7 +116,12 @@ if(BUILD_FEM_VTK) SphereWidget.ui ) endif(BUILD_FEM_VTK) -qt4_wrap_ui(FemGui_UIC_HDRS ${FemGui_UIC_SRCS}) + +if(BUILD_QT5) + qt5_wrap_ui(FemGui_UIC_HDRS ${FemGui_UIC_SRCS}) +else() + qt4_wrap_ui(FemGui_UIC_HDRS ${FemGui_UIC_SRCS}) +endif() SET(FemGui_DLG_SRCS ${FemGui_UIC_HDRS} @@ -178,7 +183,11 @@ SET(FemGui_DLG_SRCS ) SOURCE_GROUP("Constraint-Dialogs" FILES ${FemGui_DLG_SRCS}) -qt4_add_resources(FemResource_SRCS Resources/Fem.qrc) +if(BUILD_QT5) + qt5_add_resources(FemResource_SRCS Resources/Fem.qrc) +else() + qt4_add_resources(FemResource_SRCS Resources/Fem.qrc) +endif() SOURCE_GROUP("Resources" FILES ${FemResource_SRCS}) diff --git a/src/Mod/Image/Gui/CMakeLists.txt b/src/Mod/Image/Gui/CMakeLists.txt index 148eb2fde8..ee940bbc04 100644 --- a/src/Mod/Image/Gui/CMakeLists.txt +++ b/src/Mod/Image/Gui/CMakeLists.txt @@ -34,12 +34,17 @@ SET(ImageGui_RES_SRCS Resources/Image.qrc ) -qt4_add_resources(ImageGui_QRC_SRCS ${ImageGui_RES_SRCS}) - set(ImageGui_UIC_SRCS ImageOrientationDialog.ui ) -qt4_wrap_ui(ImageGui_UIC_HDRS ${ImageGui_UIC_SRCS}) + +if(BUILD_QT5) + qt5_add_resources(ImageGui_QRC_SRCS ${ImageGui_RES_SRCS}) + qt5_wrap_ui(ImageGui_UIC_HDRS ${ImageGui_UIC_SRCS}) +else() + qt4_add_resources(ImageGui_QRC_SRCS ${ImageGui_RES_SRCS}) + qt4_wrap_ui(ImageGui_UIC_HDRS ${ImageGui_UIC_SRCS}) +endif() SET(ImageGui_SRCS # ${ImageGui_MOC_SRCS} diff --git a/src/Mod/Inspection/Gui/CMakeLists.txt b/src/Mod/Inspection/Gui/CMakeLists.txt index 52d47720b5..e0775ebb66 100644 --- a/src/Mod/Inspection/Gui/CMakeLists.txt +++ b/src/Mod/Inspection/Gui/CMakeLists.txt @@ -15,8 +15,6 @@ set(InspectionGui_LIBS FreeCADGui ) -qt4_add_resources(Inspection_QRC_SRCS Resources/Inspection.qrc) - set(InspectionGui_MOC_HDRS VisualInspection.h ) @@ -26,7 +24,15 @@ SOURCE_GROUP("Moc" FILES ${InspectionGui_MOC_SRCS}) set(Dialogs_UIC_SRCS VisualInspection.ui ) -qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) + +if(BUILD_QT5) + qt5_add_resources(Inspection_QRC_SRCS Resources/Inspection.qrc) + qt5_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) +else() + qt4_add_resources(Inspection_QRC_SRCS Resources/Inspection.qrc) + qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) +endif() + SET(Dialogs_SRCS ${Dialogs_UIC_HDRS} VisualInspection.cpp diff --git a/src/Mod/Mesh/App/CMakeLists.txt b/src/Mod/Mesh/App/CMakeLists.txt index 8de9f92c08..4eaef47774 100644 --- a/src/Mod/Mesh/App/CMakeLists.txt +++ b/src/Mod/Mesh/App/CMakeLists.txt @@ -13,13 +13,21 @@ include_directories( ${EIGEN3_INCLUDE_DIR} ) - set(Mesh_LIBS ${Boost_LIBRARIES} FreeCADBase FreeCADApp ) +if (BUILD_QT5) + include_directories( + ${Qt5Concurrent_INCLUDE_DIRS} + ) + list(APPEND Mesh_LIBS + ${Qt5Concurrent_LIBRARIES} + ) +endif() + generate_from_xml(FacetPy) generate_from_xml(MeshFeaturePy) generate_from_xml(MeshPointPy) diff --git a/src/Mod/Mesh/Gui/CMakeLists.txt b/src/Mod/Mesh/Gui/CMakeLists.txt index 19cc27da0d..795b01ff44 100644 --- a/src/Mod/Mesh/Gui/CMakeLists.txt +++ b/src/Mod/Mesh/Gui/CMakeLists.txt @@ -41,7 +41,7 @@ set(Dialogs_UIC_SRCS Segmentation.ui Selection.ui ) -qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) + SET(Dialogs_SRCS ${Dialogs_UIC_HDRS} DlgEvaluateMesh.ui @@ -56,6 +56,7 @@ SET(Dialogs_SRCS DlgSettingsMeshView.ui DlgSettingsMeshView.cpp DlgSettingsMeshView.h + DlgSettingsImportExport.ui DlgSettingsImportExportImp.cpp DlgSettingsImportExportImp.h DlgSmoothing.ui @@ -83,7 +84,14 @@ SET(Inventor_SRCS ) SOURCE_GROUP("Inventor" FILES ${Inventor_SRCS}) -qt4_add_resources(resource_SRCS Resources/Mesh.qrc) +if (BUILD_QT5) + qt5_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) + qt5_add_resources(resource_SRCS Resources/Mesh.qrc) +else() + qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) + qt4_add_resources(resource_SRCS Resources/Mesh.qrc) +endif() + SET(resource_SRCS ${resource_SRCS} Resources/Mesh.qrc diff --git a/src/Mod/MeshPart/Gui/CMakeLists.txt b/src/Mod/MeshPart/Gui/CMakeLists.txt index 0a69e23372..5a10cdae99 100644 --- a/src/Mod/MeshPart/Gui/CMakeLists.txt +++ b/src/Mod/MeshPart/Gui/CMakeLists.txt @@ -38,12 +38,17 @@ set(MeshPartGui_MOC_HDRS fc_wrap_cpp(MeshPartGui_MOC_SRCS ${MeshPartGui_MOC_HDRS}) SOURCE_GROUP("Moc" FILES ${MeshPartGui_MOC_SRCS}) -qt4_add_resources(MeshPartGui_QRC_SRCS Resources/MeshPart.qrc) - set(MeshPartGui_UIC_SRCS Tessellation.ui ) -qt4_wrap_ui(MeshPartGui_UIC_HDRS ${MeshPartGui_UIC_SRCS}) + +if(BUILD_QT5) + qt5_add_resources(MeshPartGui_QRC_SRCS Resources/MeshPart.qrc) + qt5_wrap_ui(MeshPartGui_UIC_HDRS ${MeshPartGui_UIC_SRCS}) +else() + qt4_add_resources(MeshPartGui_QRC_SRCS Resources/MeshPart.qrc) + qt4_wrap_ui(MeshPartGui_UIC_HDRS ${MeshPartGui_UIC_SRCS}) +endif() SET(MeshPartGui_SRCS ${MeshPartGui_QRC_SRCS} diff --git a/src/Mod/Part/Gui/CMakeLists.txt b/src/Mod/Part/Gui/CMakeLists.txt index 96f7f0966f..be307bbde5 100644 --- a/src/Mod/Part/Gui/CMakeLists.txt +++ b/src/Mod/Part/Gui/CMakeLists.txt @@ -23,6 +23,15 @@ set(PartGui_LIBS FreeCADGui ) +if (BUILD_QT5) + include_directories( + ${Qt5Concurrent_INCLUDE_DIRS} + ) + list(APPEND PartGui_LIBS + ${Qt5Concurrent_LIBRARIES} + ) +endif() + set(PartGui_MOC_HDRS CrossSections.h Mirroring.h @@ -51,7 +60,11 @@ set(PartGui_MOC_HDRS fc_wrap_cpp(PartGui_MOC_SRCS ${PartGui_MOC_HDRS}) SOURCE_GROUP("Moc" FILES ${PartGui_MOC_SRCS}) -qt4_add_resources(PartGui_QRC_SRCS Resources/Part.qrc) +if (BUILD_QT5) + qt5_add_resources(PartGui_QRC_SRCS Resources/Part.qrc) +else() + qt4_add_resources(PartGui_QRC_SRCS Resources/Part.qrc) +endif() set(PartGui_UIC_SRCS CrossSections.ui @@ -78,7 +91,12 @@ set(PartGui_UIC_SRCS TaskSweep.ui TaskAttacher.ui ) -qt4_wrap_ui(PartGui_UIC_HDRS ${PartGui_UIC_SRCS}) + +if (BUILD_QT5) + qt5_wrap_ui(PartGui_UIC_HDRS ${PartGui_UIC_SRCS}) +else() + qt4_wrap_ui(PartGui_UIC_HDRS ${PartGui_UIC_SRCS}) +endif() SET(PartGui_SRCS ${PartGui_QRC_SRCS} diff --git a/src/Mod/PartDesign/Gui/CMakeLists.txt b/src/Mod/PartDesign/Gui/CMakeLists.txt index e8532b9fa0..af384cc762 100644 --- a/src/Mod/PartDesign/Gui/CMakeLists.txt +++ b/src/Mod/PartDesign/Gui/CMakeLists.txt @@ -56,7 +56,11 @@ set(PartDesignGui_MOC_HDRS fc_wrap_cpp(PartDesignGui_MOC_SRCS ${PartDesignGui_MOC_HDRS}) SOURCE_GROUP("Moc" FILES ${PartDesignGui_MOC_SRCS}) -qt4_add_resources(PartDesignGui_SRCS Resources/PartDesign.qrc) +if(BUILD_QT5) + qt5_add_resources(PartDesignGui_SRCS Resources/PartDesign.qrc) +else() + qt4_add_resources(PartDesignGui_SRCS Resources/PartDesign.qrc) +endif() set(PartDesignGui_UIC_SRCS TaskFeaturePick.ui @@ -83,7 +87,12 @@ set(PartDesignGui_UIC_SRCS TaskLoftParameters.ui DlgReference.ui ) -qt4_wrap_ui(PartDesignGui_UIC_HDRS ${PartDesignGui_UIC_SRCS}) + +if(BUILD_QT5) + qt5_wrap_ui(PartDesignGui_UIC_HDRS ${PartDesignGui_UIC_SRCS}) +else() + qt4_wrap_ui(PartDesignGui_UIC_HDRS ${PartDesignGui_UIC_SRCS}) +endif() SET(PartDesignGuiViewProvider_SRCS ViewProvider.cpp diff --git a/src/Mod/Path/Gui/CMakeLists.txt b/src/Mod/Path/Gui/CMakeLists.txt index f89fd08ac5..8f90c3e413 100644 --- a/src/Mod/Path/Gui/CMakeLists.txt +++ b/src/Mod/Path/Gui/CMakeLists.txt @@ -25,7 +25,11 @@ set(PathGui_LIBS FreeCADGui ) -qt4_add_resources(PathResource_SRCS Resources/Path.qrc) +if(BUILD_QT5) + qt5_add_resources(PathResource_SRCS Resources/Path.qrc) +else() + qt4_add_resources(PathResource_SRCS Resources/Path.qrc) +endif() SOURCE_GROUP("Resources" FILES ${PathResource_SRCS}) @@ -43,7 +47,12 @@ set(PathGui_UIC_SRCS TaskDlgPathCompound.ui DlgProcessorChooser.ui ) -qt4_wrap_ui(PathGui_UIC_HDRS ${PathGui_UIC_SRCS}) + +if(BUILD_QT5) + qt5_wrap_ui(PathGui_UIC_HDRS ${PathGui_UIC_SRCS}) +else() + qt4_wrap_ui(PathGui_UIC_HDRS ${PathGui_UIC_SRCS}) +endif() SET(PathGui_SRCS_Module Command.cpp diff --git a/src/Mod/Points/Gui/CMakeLists.txt b/src/Mod/Points/Gui/CMakeLists.txt index 242897b07d..4290350ad2 100644 --- a/src/Mod/Points/Gui/CMakeLists.txt +++ b/src/Mod/Points/Gui/CMakeLists.txt @@ -26,7 +26,13 @@ SOURCE_GROUP("Moc" FILES ${PointsGui_MOC_SRCS}) set(Dialog_UIC_SRCS DlgPointsRead.ui ) -qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialog_UIC_SRCS}) + +if (BUILD_QT5) + qt5_wrap_ui(Dialogs_UIC_HDRS ${Dialog_UIC_SRCS}) +else() + qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialog_UIC_SRCS}) +endif() + SET(Dialogs_SRCS ${Dialogs_UIC_HDRS} DlgPointsRead.ui @@ -35,7 +41,12 @@ SET(Dialogs_SRCS ) SOURCE_GROUP("Dialogs" FILES ${Dialogs_SRCS}) -qt4_add_resources(Resource_SRCS Resources/Points.qrc) +if (BUILD_QT5) + qt5_add_resources(Resource_SRCS Resources/Points.qrc) +else() + qt4_add_resources(Resource_SRCS Resources/Points.qrc) +endif() + SET(Resource_SRCS ${Resource_SRCS} Resources/Points.qrc diff --git a/src/Mod/Raytracing/Gui/CMakeLists.txt b/src/Mod/Raytracing/Gui/CMakeLists.txt index bda3a5b755..cd1fd4020f 100644 --- a/src/Mod/Raytracing/Gui/CMakeLists.txt +++ b/src/Mod/Raytracing/Gui/CMakeLists.txt @@ -42,7 +42,6 @@ set(RaytracingGui_MOC_HDRS fc_wrap_cpp(RaytracingGui_MOC_SRCS ${RaytracingGui_MOC_HDRS}) SOURCE_GROUP("Moc" FILES ${RaytracingGui_MOC_SRCS}) -qt4_add_resources(Resource_SRCS Resources/Raytracing.qrc) SET(Resource_SRCS ${Resource_SRCS} Resources/Raytracing.qrc @@ -52,7 +51,14 @@ SOURCE_GROUP("Resource" FILES ${Resource_SRCS}) set(RaytracingGui_UIC_SRCS DlgSettingsRay.ui ) -qt4_wrap_ui(RaytracingGui_UIC_HDRS ${RaytracingGui_UIC_SRCS}) + +if (BUILD_QT5) + qt5_add_resources(Resource_SRCS Resources/Raytracing.qrc) + qt5_wrap_ui(RaytracingGui_UIC_HDRS ${RaytracingGui_UIC_SRCS}) +else() + qt4_add_resources(Resource_SRCS Resources/Raytracing.qrc) + qt4_wrap_ui(RaytracingGui_UIC_HDRS ${RaytracingGui_UIC_SRCS}) +endif() SET(RaytracingGui_SRCS ${Resource_SRCS} diff --git a/src/Mod/ReverseEngineering/Gui/CMakeLists.txt b/src/Mod/ReverseEngineering/Gui/CMakeLists.txt index 0d268cfa6c..f48ec6d82d 100644 --- a/src/Mod/ReverseEngineering/Gui/CMakeLists.txt +++ b/src/Mod/ReverseEngineering/Gui/CMakeLists.txt @@ -22,7 +22,11 @@ set(ReenGui_LIBS FreeCADGui ) -qt4_add_resources(ReenGui_QRC_SRCS Resources/ReverseEngineering.qrc) +if(BUILD_QT5) + qt5_add_resources(ReenGui_QRC_SRCS Resources/ReverseEngineering.qrc) +else() + qt4_add_resources(ReenGui_QRC_SRCS Resources/ReverseEngineering.qrc) +endif() set(ReenGui_MOC_HDRS FitBSplineSurface.h @@ -35,7 +39,13 @@ set(Dialogs_UIC_SRCS FitBSplineSurface.ui Poisson.ui ) -qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) + +if(BUILD_QT5) + qt5_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) +else() + qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) +endif() + SET(Dialogs_SRCS ${Dialogs_UIC_HDRS} ${Dialogs_UIC_SRCS} diff --git a/src/Mod/Robot/Gui/CMakeLists.txt b/src/Mod/Robot/Gui/CMakeLists.txt index 887d39c225..3daf6643ec 100644 --- a/src/Mod/Robot/Gui/CMakeLists.txt +++ b/src/Mod/Robot/Gui/CMakeLists.txt @@ -25,7 +25,11 @@ set(RobotGui_LIBS FreeCADGui ) -qt4_add_resources(RobotResource_SRCS Resources/Robot.qrc) +if(BUILD_QT5) + qt5_add_resources(RobotResource_SRCS Resources/Robot.qrc) +else() + qt4_add_resources(RobotResource_SRCS Resources/Robot.qrc) +endif() SOURCE_GROUP("Resources" FILES ${RobotResource_SRCS}) @@ -39,7 +43,11 @@ set(RobotGui_UIC_SRCS TaskTrajectoryDressUpParameter.ui ) -qt4_wrap_ui(RobotGui_UIC_HDRS ${RobotGui_UIC_SRCS}) +if(BUILD_QT5) + qt5_wrap_ui(RobotGui_UIC_HDRS ${RobotGui_UIC_SRCS}) +else() + qt4_wrap_ui(RobotGui_UIC_HDRS ${RobotGui_UIC_SRCS}) +endif() set(RobotGui_MOC_HDRS TaskTrajectory.h diff --git a/src/Mod/Sketcher/Gui/CMakeLists.txt b/src/Mod/Sketcher/Gui/CMakeLists.txt index e5618bb517..fbe91a8dcd 100644 --- a/src/Mod/Sketcher/Gui/CMakeLists.txt +++ b/src/Mod/Sketcher/Gui/CMakeLists.txt @@ -43,7 +43,11 @@ set(SketcherGui_MOC_HDRS fc_wrap_cpp(SketcherGui_MOC_SRCS ${SketcherGui_MOC_HDRS}) SOURCE_GROUP("Moc" FILES ${SketcherGui_MOC_SRCS}) -qt4_add_resources(SketcherGui_SRCS Resources/Sketcher.qrc) +if(BUILD_QT5) + qt5_add_resources(SketcherGui_SRCS Resources/Sketcher.qrc) +else() + qt4_add_resources(SketcherGui_SRCS Resources/Sketcher.qrc) +endif() set(SketcherGui_UIC_SRCS TaskSketcherConstrains.ui @@ -58,7 +62,12 @@ set(SketcherGui_UIC_SRCS SketcherSettings.ui SketchRectangularArrayDialog.ui ) -qt4_wrap_ui(SketcherGui_UIC_HDRS ${SketcherGui_UIC_SRCS}) + +if(BUILD_QT5) + qt5_wrap_ui(SketcherGui_UIC_HDRS ${SketcherGui_UIC_SRCS}) +else() + qt4_wrap_ui(SketcherGui_UIC_HDRS ${SketcherGui_UIC_SRCS}) +endif() SET(SketcherGui_SRCS ${SketcherGui_SRCS} diff --git a/src/Mod/Spreadsheet/Gui/CMakeLists.txt b/src/Mod/Spreadsheet/Gui/CMakeLists.txt index 5689103a5d..1e5c70445f 100644 --- a/src/Mod/Spreadsheet/Gui/CMakeLists.txt +++ b/src/Mod/Spreadsheet/Gui/CMakeLists.txt @@ -24,9 +24,15 @@ set(SpreadsheetGui_MOC_HDRS qtcolorpicker.h ) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/moc_qtcolorpicker-internal.cpp - COMMAND ${QT_MOC_EXECUTABLE} -o ${CMAKE_CURRENT_BINARY_DIR}/moc_qtcolorpicker-internal.cpp ${CMAKE_CURRENT_SOURCE_DIR}/qtcolorpicker.cpp - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/qtcolorpicker.cpp) +if(BUILD_QT5) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/moc_qtcolorpicker-internal.cpp + COMMAND ${Qt5Core_MOC_EXECUTABLE} -o ${CMAKE_CURRENT_BINARY_DIR}/moc_qtcolorpicker-internal.cpp ${CMAKE_CURRENT_SOURCE_DIR}/qtcolorpicker.cpp + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/qtcolorpicker.cpp) +else() + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/moc_qtcolorpicker-internal.cpp + COMMAND ${QT_MOC_EXECUTABLE} -o ${CMAKE_CURRENT_BINARY_DIR}/moc_qtcolorpicker-internal.cpp ${CMAKE_CURRENT_SOURCE_DIR}/qtcolorpicker.cpp + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/qtcolorpicker.cpp) +endif() set_property(SOURCE qtcolorpicker.cpp APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/moc_qtcolorpicker-internal.cpp) @@ -38,14 +44,22 @@ SET(SpreadsheetGui_RES_SRCS Resources/Spreadsheet.qrc ) -qt4_add_resources(SpreadsheetGui_QRC_SRCS ${SpreadsheetGui_RES_SRCS}) +if(BUILD_QT5) + qt5_add_resources(SpreadsheetGui_QRC_SRCS ${SpreadsheetGui_RES_SRCS}) +else() + qt4_add_resources(SpreadsheetGui_QRC_SRCS ${SpreadsheetGui_RES_SRCS}) +endif() set(SpreadsheetGui_UIC_SRCS Sheet.ui PropertiesDialog.ui ) -qt4_wrap_ui(SpreadsheetGui_UIC_HDRS ${SpreadsheetGui_UIC_SRCS}) +if(BUILD_QT5) + qt5_wrap_ui(SpreadsheetGui_UIC_HDRS ${SpreadsheetGui_UIC_SRCS}) +else() + qt4_wrap_ui(SpreadsheetGui_UIC_HDRS ${SpreadsheetGui_UIC_SRCS}) +endif() SET(SpreadsheetGui_SRCS # ${SpreadsheetGui_MOC_SRCS} diff --git a/src/Mod/Start/Gui/CMakeLists.txt b/src/Mod/Start/Gui/CMakeLists.txt index 9c9efa4738..32db50f58c 100644 --- a/src/Mod/Start/Gui/CMakeLists.txt +++ b/src/Mod/Start/Gui/CMakeLists.txt @@ -12,7 +12,11 @@ set(StartGui_LIBS FreeCADGui ) -qt4_add_resources(Start_QRC_SRCS Resources/Start.qrc) +if(BUILD_QT5) + qt5_add_resources(Start_QRC_SRCS Resources/Start.qrc) +else() + qt4_add_resources(Start_QRC_SRCS Resources/Start.qrc) +endif() SET(StartGui_SRCS ${Start_QRC_SRCS} diff --git a/src/Mod/TechDraw/Gui/CMakeLists.txt b/src/Mod/TechDraw/Gui/CMakeLists.txt index 65c343a863..a0221bc8b5 100644 --- a/src/Mod/TechDraw/Gui/CMakeLists.txt +++ b/src/Mod/TechDraw/Gui/CMakeLists.txt @@ -41,7 +41,11 @@ set(TechDrawGui_MOC_HDRS fc_wrap_cpp(TechDrawGui_MOC_SRCS ${TechDrawGui_MOC_HDRS}) SOURCE_GROUP("Moc" FILES ${TechDrawGui_MOC_SRCS}) -qt4_add_resources(TechDrawGui_SRCS Resources/TechDraw.qrc) +if(BUILD_QT5) + qt5_add_resources(TechDrawGui_SRCS Resources/TechDraw.qrc) +else() + qt4_add_resources(TechDrawGui_SRCS Resources/TechDraw.qrc) +endif() set(TechDrawGui_UIC_SRCS DlgPrefsTechDraw.ui @@ -52,7 +56,11 @@ set(TechDrawGui_UIC_SRCS TaskSectionView.ui ) -qt4_wrap_ui(TechDrawGui_UIC_HDRS ${TechDrawGui_UIC_SRCS}) +if(BUILD_QT5) + qt5_wrap_ui(TechDrawGui_UIC_HDRS ${TechDrawGui_UIC_SRCS}) +else() + qt4_wrap_ui(TechDrawGui_UIC_HDRS ${TechDrawGui_UIC_SRCS}) +endif() SET(TechDrawGui_SRCS ${TechDrawGui_SRCS} diff --git a/src/Mod/Test/Gui/CMakeLists.txt b/src/Mod/Test/Gui/CMakeLists.txt index 9e3133a3c1..a5b4d64570 100644 --- a/src/Mod/Test/Gui/CMakeLists.txt +++ b/src/Mod/Test/Gui/CMakeLists.txt @@ -18,7 +18,13 @@ SOURCE_GROUP("Moc" FILES ${Test_MOC_SRCS}) set(Dialogs_UIC_SRCS UnitTest.ui ) -qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) + +if(BUILD_QT5) + qt5_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) +else() + qt4_wrap_ui(Dialogs_UIC_HDRS ${Dialogs_UIC_SRCS}) +endif() + SET(Dialogs_SRCS ${Dialogs_UIC_HDRS} UnitTest.ui @@ -29,7 +35,11 @@ SET(Dialogs_SRCS ) SOURCE_GROUP("Dialogs" FILES ${Dialogs_SRCS}) -qt4_add_resources(Resource_SRCS Resources/Test.qrc) +if(BUILD_QT5) + qt5_add_resources(Resource_SRCS Resources/Test.qrc) +else() + qt4_add_resources(Resource_SRCS Resources/Test.qrc) +endif() SET(Resource_SRCS ${Resource_SRCS} Resources/Test.qrc diff --git a/src/Mod/Web/App/CMakeLists.txt b/src/Mod/Web/App/CMakeLists.txt index 54194d17e0..a9e050655b 100644 --- a/src/Mod/Web/App/CMakeLists.txt +++ b/src/Mod/Web/App/CMakeLists.txt @@ -8,10 +8,20 @@ include_directories( ${XercesC_INCLUDE_DIRS} ) -set(Web_LIBS - FreeCADApp - ${QT_LIBRARIES} -) +if(BUILD_QT5) + include_directories( + ${Qt5Network_INCLUDE_DIRS} + ) + set(Web_LIBS + FreeCADApp + ${Qt5Network_LIBRARIES} + ) +else() + set(Web_LIBS + FreeCADApp + ${QT_LIBRARIES} + ) +endif() set(Web_MOC_HDRS Server.h diff --git a/src/Mod/Web/CMakeLists.txt b/src/Mod/Web/CMakeLists.txt index a83d91c5eb..bef7ecc086 100644 --- a/src/Mod/Web/CMakeLists.txt +++ b/src/Mod/Web/CMakeLists.txt @@ -1,7 +1,9 @@ add_subdirectory(App) if(BUILD_GUI) - add_subdirectory(Gui) + if(Qt5WebEngine_FOUND OR QT_QTWEBKIT_FOUND) + add_subdirectory(Gui) + endif() endif(BUILD_GUI) INSTALL( diff --git a/src/Mod/Web/Gui/CMakeLists.txt b/src/Mod/Web/Gui/CMakeLists.txt index 5d63ade9cd..b298e2665a 100644 --- a/src/Mod/Web/Gui/CMakeLists.txt +++ b/src/Mod/Web/Gui/CMakeLists.txt @@ -11,7 +11,17 @@ set(WebGui_LIBS FreeCADGui ) -qt4_add_resources(Web_QRC_SRCS Resources/Web.qrc) +if(BUILD_QT5) + include_directories( + ${Qt5WebEngine_INCLUDE_DIRS} + ) + list(APPEND WebGui_LIBS + ${Qt5WebEngine_LIBRARIES} + ) + qt5_add_resources(Web_QRC_SRCS Resources/Web.qrc) +else() + qt4_add_resources(Web_QRC_SRCS Resources/Web.qrc) +endif() SET(WebGui_SRCS ${Web_QRC_SRCS}