From 5ca603a9a9368c0d934e1ab4731e01a501deb716 Mon Sep 17 00:00:00 2001 From: Abhijit Kundu Date: Tue, 2 Dec 2014 21:41:47 -0500 Subject: [PATCH] more simplification of the dependency handling --- CMakeLists.txt | 17 +++++------ cmake/AddQt.cmake | 55 ------------------------------------ examples/demo/CMakeLists.txt | 6 +--- src/CMakeLists.txt | 24 +++------------- 4 files changed, 12 insertions(+), 90 deletions(-) delete mode 100644 cmake/AddQt.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a4e80d9..1495c34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,10 +15,7 @@ INCLUDE(InstallSettings) ##################### Look for required libraries ###################### # Add QT dependencies -INCLUDE(AddQt) -IF (NOT QT_FOUND) - MESSAGE(FATAL "We Need some QT") -ENDIF() +FIND_PACKAGE(Qt5Widgets REQUIRED) ######################### Add Primary Targets ########################## ADD_SUBDIRECTORY(src) @@ -45,10 +42,10 @@ MESSAGE(STATUS "Build type Flags: ${CMAKE_BUILD_TYPE_FLAGS}") MESSAGE(STATUS "C++ compile flags: ${CMAKE_CXX_FLAGS}") MESSAGE(STATUS "Install Path: ${CMAKE_INSTALL_PREFIX}") MESSAGE(STATUS "Build Examples: ${BUILD_EXAMPLES}") -IF(QT_FOUND ) - MESSAGE(STATUS "QT Version: ${QT_VERSION_STRING}") - MESSAGE(STATUS "QT_TARGETS: ${QT_TARGETS}") - MESSAGE(STATUS "QT_ALL_TARGETS: ${QT_ALL_TARGETS}") - MESSAGE(STATUS "QT_INCLUDE_DIRS: ${QT_INCLUDE_DIRS}") - MESSAGE(STATUS "QT_COMPILE_DEFS: ${QT_COMPILE_DEFS}") +IF(Qt5Widgets_FOUND) + MESSAGE(STATUS "QT Version: ${Qt5Widgets_VERSION_STRING}") + MESSAGE(STATUS "QT INCLUDE DIRS: ${Qt5Widgets_INCLUDE_DIRS}") + MESSAGE(STATUS "QT COMPILE DEFS: ${Qt5Widgets_COMPILE_DEFINITIONS}") + MESSAGE(STATUS "QT DEFS: ${Qt5Widgets_DEFINITIONS}") + MESSAGE(STATUS "QT EXE FLAGS: ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") ENDIF() diff --git a/cmake/AddQt.cmake b/cmake/AddQt.cmake deleted file mode 100644 index 599dbd3..0000000 --- a/cmake/AddQt.cmake +++ /dev/null @@ -1,55 +0,0 @@ -if(NOT QT_FOUND) -# --- QT5 --- - find_package(Qt5Core QUIET) - if(Qt5Core_FOUND) - find_package(Qt5Gui QUIET) - find_package(Qt5Widgets QUIET) - if(Qt5Gui_FOUND AND Qt5Widgets_FOUND) - set(QT5_FOUND ON) - set(QT_FOUND ON) - endif() - endif() -endif() - -if(NOT QT_FOUND) -# --- QT4 --- - find_package(Qt4 QUIET) - if(QT4_FOUND) - set(QT_FOUND TRUE) - endif() -endif() - - - -if(QT_FOUND) - if(NOT QT5_FOUND) - message ( STATUS "Using Qt4") - set( QT_VERSION_STRING "${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}") - set( QT_TARGETS "Qt4::QtGui") - else() - message ( STATUS "Using Qt5") - set( QT_VERSION_STRING ${Qt5Core_VERSION_STRING}) - set( QT_TARGETS "Qt5::Gui;Qt5::Widgets") - endif() - -else() - message ( STATUS "Qt Not Found") -endif() - - -#include some custom CMake util functions -INCLUDE(CommonCMakeUtils) - -extract_target_properties(QT_TARGETS_DEPENDENCIES QT_TARGETS INTERFACE_LINK_LIBRARIES) -set (QT_ALL_TARGETS ${QT_TARGETS} ${QT_TARGETS_DEPENDENCIES}) -list(REMOVE_DUPLICATES QT_ALL_TARGETS) -extract_target_properties(QT_INCLUDE_DIRS QT_ALL_TARGETS INTERFACE_INCLUDE_DIRECTORIES) -extract_target_properties(QT_COMPILE_DEFS QT_ALL_TARGETS INTERFACE_COMPILE_DEFINITIONS) - -IF(QT_FOUND ) - MESSAGE(STATUS "QT Version: ${QT_VERSION_STRING}") - MESSAGE(STATUS "QT_TARGETS: ${QT_TARGETS}") - MESSAGE(STATUS "QT_ALL_TARGETS: ${QT_ALL_TARGETS}") - MESSAGE(STATUS "QT_INCLUDE_DIRS: ${QT_INCLUDE_DIRS}") - MESSAGE(STATUS "QT_COMPILE_DEFS: ${QT_COMPILE_DEFS}") -ENDIF() \ No newline at end of file diff --git a/examples/demo/CMakeLists.txt b/examples/demo/CMakeLists.txt index a3febb5..cafcb15 100644 --- a/examples/demo/CMakeLists.txt +++ b/examples/demo/CMakeLists.txt @@ -9,11 +9,7 @@ SET(KIT_resources demo.qrc ) -IF(QT5_FOUND) - QT5_ADD_RESOURCES(KIT_QRC_SRCS ${KIT_resources}) -ELSE() - QT4_ADD_RESOURCES(KIT_QRC_SRCS ${KIT_resources}) -ENDIF() +QT5_ADD_RESOURCES(KIT_QRC_SRCS ${KIT_resources}) ADD_EXECUTABLE(${example_name} ${KIT_SRCS} ${KIT_QRC_SRCS}) TARGET_LINK_LIBRARIES(${example_name} ${PROJECT_NAME}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8c3cc28..ac70956 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -26,35 +26,19 @@ set(_RESOURCES qtpropertybrowser.qrc ) -if(QT5_FOUND) - QT5_WRAP_UI(_UI_SRCS ${_UI_FORMS}) - QT5_ADD_RESOURCES(_QRC_SRCS ${_RESOURCES}) -else() - QT4_WRAP_UI(_UI_SRCS ${_UI_FORMS}) - QT4_ADD_RESOURCES(_QRC_SRCS ${_RESOURCES}) -endif() - +QT5_WRAP_UI(_UI_SRCS ${_UI_FORMS}) +QT5_ADD_RESOURCES(_QRC_SRCS ${_RESOURCES}) set(TARGET_NAME ${PROJECT_NAME}) -add_library(${TARGET_NAME} STATIC +add_library(${TARGET_NAME} ${_SRCS} ${_UI_SRCS} ${_QRC_SRCS} ${_IMPL_HDRS} ) -target_include_directories(${TARGET_NAME} PRIVATE ${QT_INCLUDE_DIRS}) -target_compile_definitions(${TARGET_NAME} PRIVATE ${QT_COMPILE_DEFS}) -set_target_properties(${TARGET_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) - -set(${TARGET_NAME}_LINK_LIBRARIES ${QT_TARGETS}) -target_link_libraries( - ${TARGET_NAME} - ${${TARGET_NAME}_LINK_LIBRARIES} - ) - -add_dependencies(${TARGET_NAME} ${QT_TARGETS}) +target_link_libraries(${TARGET_NAME} Qt5::Widgets) ######################### Installation Stuff ########################### include(GenerateExportHeader)