From 6839e826134b03872b84736983585d97f9c7eef1 Mon Sep 17 00:00:00 2001 From: Gaute Lindkvist Date: Tue, 28 May 2019 12:21:54 +0200 Subject: [PATCH] #4448 Clean up Qt5-detection CVF --- Fwk/VizFwk/LibGuiQt/CMakeLists.txt | 22 +++-------- .../TestApps/Qt/QtMinimal/CMakeLists.txt | 33 +++++----------- .../TestApps/Qt/QtMultiView/CMakeLists.txt | 39 +++++++------------ .../Qt/QtSnippetRunner/CMakeLists.txt | 35 ++++++----------- .../Tests/LibGuiQt_UnitTests/CMakeLists.txt | 15 ++----- 5 files changed, 46 insertions(+), 98 deletions(-) diff --git a/Fwk/VizFwk/LibGuiQt/CMakeLists.txt b/Fwk/VizFwk/LibGuiQt/CMakeLists.txt index f1d63e863c..6a9bab1c42 100644 --- a/Fwk/VizFwk/LibGuiQt/CMakeLists.txt +++ b/Fwk/VizFwk/LibGuiQt/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 2.8.12) project(LibGuiQt) - # We're getting too much trouble from Qt using strict set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CEE_BASE_CXX_FLAGS}") @@ -10,10 +9,14 @@ if (CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-long-long") endif() +find_package(OpenGL) + +# Qt if (CEE_USE_QT5) - find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED) + find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL) + set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL) else() - find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED) + find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGl REQUIRED) include(${QT_USE_FILE}) endif(CEE_USE_QT5) @@ -44,19 +47,6 @@ target_include_directories(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} ) -if ( NOT CMAKE_AUTOMOC ) - if (CEE_USE_QT5) - qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} ) - - else() - qt4_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} ) - endif() -endif() - -if (CEE_USE_QT5) - set(QT_LIBRARIES Qt5::Core Qt5::OpenGL Qt5::Widgets) -endif() - target_link_libraries ( ${PROJECT_NAME} LibCore LibGeometry diff --git a/Fwk/VizFwk/TestApps/Qt/QtMinimal/CMakeLists.txt b/Fwk/VizFwk/TestApps/Qt/QtMinimal/CMakeLists.txt index c5c3adb36d..dafadcbc16 100644 --- a/Fwk/VizFwk/TestApps/Qt/QtMinimal/CMakeLists.txt +++ b/Fwk/VizFwk/TestApps/Qt/QtMinimal/CMakeLists.txt @@ -12,16 +12,6 @@ endif() find_package(OpenGL) -if (CEE_USE_QT5) - find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED) -else() - find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED) - include(${QT_USE_FILE}) - if (QT4_FOUND) - message(STATUS "Found Qt4") - endif(QT4_FOUND) -endif(CEE_USE_QT5) - include_directories(${LibCore_SOURCE_DIR}) include_directories(${LibGeometry_SOURCE_DIR}) include_directories(${LibRender_SOURCE_DIR}) @@ -43,17 +33,18 @@ QMMainWindow.h QMWidget.h ) -# Run MOC on the headers -add_definitions(-DCVF_USING_CMAKE) -set(MOC_SOURCE_FILES) +# Qt if (CEE_USE_QT5) + find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL) + set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL) qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} ) - set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Widgets) else() + find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGl REQUIRED) + include(${QT_USE_FILE}) qt4_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} ) -endif() - +endif(CEE_USE_QT5) +add_definitions(-DCVF_USING_CMAKE) add_executable(${PROJECT_NAME} ${CEE_SOURCE_FILES} ${MOC_SOURCE_FILES}) target_link_libraries(${PROJECT_NAME} ${CEE_LIBS} ${OPENGL_LIBRARIES} ${QT_LIBRARIES}) @@ -64,18 +55,14 @@ if (CEE_USE_QT5) COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ ) endforeach(qtlib) - # Copy Qt Dlls else() # Copy Qt Dlls if (MSVC) set (QTLIBLIST QtCore QtGui QtOpenGl) foreach (qtlib ${QTLIBLIST}) - - # Debug - execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll ${CMAKE_BINARY_DIR}/Debug/${qtlib}d4.dll) - - # Release - execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll ${CMAKE_BINARY_DIR}/Release/${qtlib}4.dll) + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_BINARY_DIR}/$,${qtlib}d4.dll,${qtlib}4.dll> $ + ) endforeach( qtlib ) endif(MSVC) endif(CEE_USE_QT5) diff --git a/Fwk/VizFwk/TestApps/Qt/QtMultiView/CMakeLists.txt b/Fwk/VizFwk/TestApps/Qt/QtMultiView/CMakeLists.txt index 2f05703921..7f2a8dc366 100644 --- a/Fwk/VizFwk/TestApps/Qt/QtMultiView/CMakeLists.txt +++ b/Fwk/VizFwk/TestApps/Qt/QtMultiView/CMakeLists.txt @@ -12,16 +12,6 @@ endif() find_package(OpenGL) -if (CEE_USE_QT5) - find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED) -else() - find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED) - include(${QT_USE_FILE}) - if (QT4_FOUND) - message(STATUS "Found Qt4") - endif(QT4_FOUND) -endif(CEE_USE_QT5) - include_directories(${LibCore_SOURCE_DIR}) include_directories(${LibGeometry_SOURCE_DIR}) include_directories(${LibRender_SOURCE_DIR}) @@ -31,7 +21,6 @@ include_directories(${LibUtilities_SOURCE_DIR}) set(CEE_LIBS LibUtilities LibGuiQt LibViewing LibRender LibGeometry LibIo LibCore) - set(CEE_SOURCE_FILES QMVFactory.cpp QMVMain.cpp @@ -45,37 +34,37 @@ QMVMainWindow.h QMVWidget.h ) -# Run MOC on the headers -add_definitions(-DCVF_USING_CMAKE) -set(MOC_SOURCE_FILES) +# Qt if (CEE_USE_QT5) + find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL) + set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL) qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} ) - set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Widgets) else() + find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGl REQUIRED) + include(${QT_USE_FILE}) qt4_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} ) endif(CEE_USE_QT5) +# Run MOC on the headers +add_definitions(-DCVF_USING_CMAKE) + add_executable(${PROJECT_NAME} ${CEE_SOURCE_FILES} ${MOC_SOURCE_FILES}) target_link_libraries(${PROJECT_NAME} ${CEE_LIBS} ${OPENGL_LIBRARIES} ${QT_LIBRARIES}) if (CEE_USE_QT5) foreach (qtlib ${QT_LIBRARIES}) - add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ ) endforeach(qtlib) - # Copy Qt Dlls else() # Copy Qt Dlls if (MSVC) set (QTLIBLIST QtCore QtGui QtOpenGl) foreach (qtlib ${QTLIBLIST}) - - # Debug - execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll ${CMAKE_BINARY_DIR}/Debug/${qtlib}d4.dll) - - # Release - execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll ${CMAKE_BINARY_DIR}/Release/${qtlib}4.dll) + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_BINARY_DIR}/$,${qtlib}d4.dll,${qtlib}4.dll> $ + ) endforeach( qtlib ) endif(MSVC) -endif(CEE_USE_QT5) \ No newline at end of file +endif(CEE_USE_QT5) diff --git a/Fwk/VizFwk/TestApps/Qt/QtSnippetRunner/CMakeLists.txt b/Fwk/VizFwk/TestApps/Qt/QtSnippetRunner/CMakeLists.txt index db9697617c..dc39caff7c 100644 --- a/Fwk/VizFwk/TestApps/Qt/QtSnippetRunner/CMakeLists.txt +++ b/Fwk/VizFwk/TestApps/Qt/QtSnippetRunner/CMakeLists.txt @@ -12,16 +12,6 @@ endif() find_package(OpenGL) -if (CEE_USE_QT5) - find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED) -else() - find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED) - include(${QT_USE_FILE}) - if (QT4_FOUND) - message(STATUS "Found Qt4") - endif(QT4_FOUND) -endif(CEE_USE_QT5) - include_directories(${LibCore_SOURCE_DIR}) include_directories(${LibGeometry_SOURCE_DIR}) include_directories(${LibRender_SOURCE_DIR}) @@ -55,38 +45,37 @@ QSRRunPanel.h QSRSnippetWidget.h ) -# Run MOC on the headers -add_definitions(-DCVF_USING_CMAKE) -set(MOC_SOURCE_FILES) +# Qt if (CEE_USE_QT5) + find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL) + set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL) qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} ) - set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Widgets) else() + find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGl REQUIRED) + include(${QT_USE_FILE}) qt4_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES} ) endif(CEE_USE_QT5) +add_definitions(-DCVF_USING_CMAKE) add_executable(${PROJECT_NAME} ${CEE_SOURCE_FILES} ${MOC_SOURCE_FILES}) target_link_libraries(${PROJECT_NAME} ${CEE_LIBS} ${OPENGL_LIBRARIES} ${QT_LIBRARIES}) + if (CEE_USE_QT5) foreach (qtlib ${QT_LIBRARIES}) - add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ ) endforeach(qtlib) - # Copy Qt Dlls else() # Copy Qt Dlls if (MSVC) set (QTLIBLIST QtCore QtGui QtOpenGl) foreach (qtlib ${QTLIBLIST}) - - # Debug - execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll ${CMAKE_BINARY_DIR}/Debug/${qtlib}d4.dll) - - # Release - execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll ${CMAKE_BINARY_DIR}/Release/${qtlib}4.dll) + add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${QT_BINARY_DIR}/$,${qtlib}d4.dll,${qtlib}4.dll> $ + ) endforeach( qtlib ) endif(MSVC) endif(CEE_USE_QT5) diff --git a/Fwk/VizFwk/Tests/LibGuiQt_UnitTests/CMakeLists.txt b/Fwk/VizFwk/Tests/LibGuiQt_UnitTests/CMakeLists.txt index 073d674b64..ca3ceaa3e0 100644 --- a/Fwk/VizFwk/Tests/LibGuiQt_UnitTests/CMakeLists.txt +++ b/Fwk/VizFwk/Tests/LibGuiQt_UnitTests/CMakeLists.txt @@ -4,17 +4,15 @@ project(LibGuiQt_UnitTests) # Compile flags should already be setup by caller - find_package(OpenGL) +# Qt if (CEE_USE_QT5) - find_package(Qt5 COMPONENTS Core Gui OpenGL Widgets REQUIRED) + find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL) + set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL) else() - find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED) + find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGl REQUIRED) include(${QT_USE_FILE}) - if (QT4_FOUND) - message(STATUS "Found Qt4") - endif(QT4_FOUND) endif(CEE_USE_QT5) include_directories(${LibCore_SOURCE_DIR}) @@ -34,11 +32,6 @@ cvfqtUtils-Test.cpp LibGuiQt_UnitTests.cpp ) -if (CEE_USE_QT5) - set(QT_LIBRARIES Qt5::Core Qt5::OpenGL Qt5::Widgets) -endif(CEE_USE_QT5) - - if (MSVC AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.11)) # VS 2017 : Disable warnings from from gtest code, using deprecated code related to TR1 add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)