| commit 0d76d960727018bddf04c6cc89552af69aaa7e55 |
| Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com> |
| Date: Sun Apr 15 22:20:34 2018 +0200 |
| |
| Add missing Qt5Network, Qt5Test, make BUILD_WITH_QT4 more strict |
| |
| diff --git a/CMakeLists.txt b/CMakeLists.txt |
| index 2a1f652..eb006d9 100644 |
| |
| |
| @@ -5,25 +5,25 @@ project( libmygpo-qt ) |
| set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) |
| set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" ) |
| |
| -option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4 no matter if Qt5 was found" OFF) |
| +option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4" OFF) |
| |
| if( NOT BUILD_WITH_QT4 ) |
| - find_package(Qt5Core QUIET) |
| - if( Qt5Core_DIR ) |
| - set(MYGPO_QT_VERSION_SUFFIX 5) |
| - |
| - macro(qt_wrap_cpp) |
| - qt5_wrap_cpp(${ARGN}) |
| - endmacro() |
| + if( MYGPO_BUILD_TESTS ) |
| + find_package(Qt5 REQUIRED COMPONENTS Core Network Test CONFIG) |
| + else() |
| + find_package(Qt5 REQUIRED COMPONENTS Core Network CONFIG) |
| endif() |
| + set(MYGPO_QT_VERSION_SUFFIX 5) |
| + |
| + macro(qt_wrap_cpp) |
| + qt5_wrap_cpp(${ARGN}) |
| + endmacro() |
| |
| # pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for |
| # Qt5 |
| set(MYGPO_QT_MAJOR_VERSION "5") |
| set(MYGPO_QT4_QJSON_DEP "") |
| -endif() |
| - |
| -if( NOT Qt5Core_DIR ) |
| +else() |
| message(STATUS "Could not find Qt5, searching for Qt4 instead...") |
| message(STATUS "Qt4 Support is deprecated, building with Qt4 is no longer officially supported") |
| if( MYGPO_BUILD_TESTS ) |
| commit 1b53767b988b339aac8b353327a1542b2a0c0610 |
| Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com> |
| Date: Sun Apr 15 22:29:33 2018 +0200 |
| |
| Fix build with Qt 5.11_beta3 (dropping qt5_use_modules) |
| |
| diff --git a/CMakeLists.txt b/CMakeLists.txt |
| index eb006d9..fa4b0cb 100644 |
| |
| |
| @@ -34,9 +34,6 @@ else() |
| set( QT_DONT_USE_QTGUI TRUE ) |
| include( ${QT_USE_FILE} ) |
| |
| - macro(qt5_use_modules) |
| - endmacro() |
| - |
| macro(qt_wrap_cpp) |
| qt4_wrap_cpp(${ARGN}) |
| endmacro() |
| diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt |
| index 802125b..253e81e 100644 |
| |
| |
| @@ -79,9 +79,13 @@ QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} ) |
| |
| add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} ) |
| |
| -target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ) |
| set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL) |
| -qt5_use_modules( ${MYGPO_QT_TARGET_NAME} Core Network ) |
| + |
| +if( NOT BUILD_WITH_QT4 ) |
| + target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network) |
| +else() |
| + target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES}) |
| +endif() |
| |
| install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} ) |
| |
| diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt |
| index a3e3223..4f77158 100644 |
| |
| |
| @@ -11,11 +11,15 @@ include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CU |
| |
| # UrlBuilder library |
| add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp ) |
| -qt5_use_modules( UrlBuilder Core ) |
| +if( NOT BUILD_WITH_QT4 ) |
| + target_link_libraries( UrlBuilder Qt5::Core ) |
| +endif() |
| # JSONCreator library |
| QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h ) |
| add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC}) |
| -qt5_use_modules( JsonCreator Core Network ) |
| +if( NOT BUILD_WITH_QT4 ) |
| + target_link_libraries( JsonCreator Qt5::Core Qt5::Network ) |
| +endif() |
| |
| set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} ) |
| |
| @@ -25,7 +29,9 @@ macro(add_libmygpo_test _source) |
| add_executable(${_name} ${_source} ${${_name}_MOC_SRC}) |
| target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY}) |
| add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name}) |
| - qt5_use_modules(${_name} Network Test) |
| + if( NOT BUILD_WITH_QT4 ) |
| + target_link_libraries(${_name} Qt5::Network Qt5::Test) |
| + endif() |
| endmacro(add_libmygpo_test) |
| |
| add_libmygpo_test( UrlBuilderTest.cpp ) |