From 9e6952baf64b51fa7ddb6ac91d4ce79ebfd2b2df Mon Sep 17 00:00:00 2001 From: Heiko Becker Date: Sat, 13 May 2017 00:11:45 +0200 Subject: Use imported targets instead of qt5_use_modules From Qt's documentation: "This macro is obsolete. Use target_link_libraries with IMPORTED targets instead." It's only recommended with cmake >=2.8.9 & < 2.8.12. Sink already requires cmake 3.0. One advantage of using the imported targets is, that cmake complains if a target isn't found before it's used, like Qt5Concurrent missing from the find_package_call here. Reviewers: #sink, cmollekopf Reviewed By: #sink, cmollekopf Subscribers: #sink Tags: #sink Differential Revision: https://phabricator.kde.org/D6361 --- CMakeLists.txt | 2 +- common/CMakeLists.txt | 4 ++-- examples/davresource/CMakeLists.txt | 3 +-- examples/dummyresource/CMakeLists.txt | 3 +-- examples/imapresource/CMakeLists.txt | 3 +-- examples/maildirresource/CMakeLists.txt | 3 +-- examples/mailtransportresource/CMakeLists.txt | 18 ++++++++++++++---- synchronizer/CMakeLists.txt | 9 +++++++-- tests/CMakeLists.txt | 10 ++++++++-- tests/SinkTest.cmake | 19 +++++++++++++++---- tests/hawd/CMakeLists.txt | 6 ++---- 11 files changed, 53 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 36bd0e0..1d8aea2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,7 @@ include(CMakePackageConfigHelpers) include(ECMSetupVersion) include(KDEInstallDirs) -find_package(Qt5 COMPONENTS REQUIRED Core Network Gui) +find_package(Qt5 COMPONENTS REQUIRED Core Concurrent Network Gui Test) find_package(KF5 COMPONENTS REQUIRED Mime Contacts) find_package(FlatBuffers REQUIRED 1.4.0) find_package(KAsync REQUIRED 0.1.2) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 001a412..8421fc2 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -116,13 +116,13 @@ SET_TARGET_PROPERTIES(${PROJECT_NAME} EXPORT_NAME ${PROJECT_NAME} ) -qt5_use_modules(${PROJECT_NAME} LINK_PUBLIC Network) -qt5_use_modules(${PROJECT_NAME} LINK_PRIVATE Gui) target_link_libraries(${PROJECT_NAME} PUBLIC KAsync + Qt5::Network PRIVATE ${storage_LIBS} + Qt5::Gui KF5::Mime KF5::Contacts ) diff --git a/examples/davresource/CMakeLists.txt b/examples/davresource/CMakeLists.txt index 7091edc..2351ecd 100644 --- a/examples/davresource/CMakeLists.txt +++ b/examples/davresource/CMakeLists.txt @@ -6,7 +6,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) find_package(KPimKDAV2 REQUIRED) add_library(${PROJECT_NAME} SHARED davresource.cpp) -qt5_use_modules(${PROJECT_NAME} Core Network) -target_link_libraries(${PROJECT_NAME} sink KPim::KDAV2) +target_link_libraries(${PROJECT_NAME} sink Qt5::Core Qt5::Network KPim::KDAV2) install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${SINK_RESOURCE_PLUGINS_PATH}) diff --git a/examples/dummyresource/CMakeLists.txt b/examples/dummyresource/CMakeLists.txt index 2bbaa47..62e96f1 100644 --- a/examples/dummyresource/CMakeLists.txt +++ b/examples/dummyresource/CMakeLists.txt @@ -6,7 +6,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) add_library(${PROJECT_NAME} SHARED resourcefactory.cpp domainadaptor.cpp dummystore.cpp) generate_flatbuffers(${PROJECT_NAME} dummycalendar) -qt5_use_modules(${PROJECT_NAME} Core Network) -target_link_libraries(${PROJECT_NAME} sink) +target_link_libraries(${PROJECT_NAME} sink Qt5::Core Qt5::Network) install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${SINK_RESOURCE_PLUGINS_PATH}) diff --git a/examples/imapresource/CMakeLists.txt b/examples/imapresource/CMakeLists.txt index 5d2d38b..f5f51f8 100644 --- a/examples/imapresource/CMakeLists.txt +++ b/examples/imapresource/CMakeLists.txt @@ -9,8 +9,7 @@ find_package(KIMAP2 0.2 REQUIRED) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) add_library(${PROJECT_NAME} SHARED imapresource.cpp imapserverproxy.cpp) -qt5_use_modules(${PROJECT_NAME} Core Network) -target_link_libraries(${PROJECT_NAME} sink KF5::Mime KIMAP2) +target_link_libraries(${PROJECT_NAME} sink Qt5::Core Qt5::Network KF5::Mime KIMAP2) install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${SINK_RESOURCE_PLUGINS_PATH}) diff --git a/examples/maildirresource/CMakeLists.txt b/examples/maildirresource/CMakeLists.txt index a8f0359..690817e 100644 --- a/examples/maildirresource/CMakeLists.txt +++ b/examples/maildirresource/CMakeLists.txt @@ -6,8 +6,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) find_package(KF5 COMPONENTS REQUIRED Mime) add_library(${PROJECT_NAME} SHARED facade.cpp maildirresource.cpp libmaildir/maildir.cpp libmaildir/keycache.cpp) -qt5_use_modules(${PROJECT_NAME} Core Network) -target_link_libraries(${PROJECT_NAME} sink KF5::Mime) +target_link_libraries(${PROJECT_NAME} sink Qt5::Core Qt5::Network KF5::Mime) install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${SINK_RESOURCE_PLUGINS_PATH}) diff --git a/examples/mailtransportresource/CMakeLists.txt b/examples/mailtransportresource/CMakeLists.txt index 03b89db..1c34676 100644 --- a/examples/mailtransportresource/CMakeLists.txt +++ b/examples/mailtransportresource/CMakeLists.txt @@ -10,13 +10,23 @@ include_directories(${CURL_INCLUDE_DIRS}) add_library(${PROJECT_NAME} SHARED mailtransportresource.cpp mailtransport.cpp) -qt5_use_modules(${PROJECT_NAME} Core Network) -target_link_libraries(${PROJECT_NAME} sink KF5::Mime ${CURL_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} + sink + Qt5::Core + Qt5::Network + KF5::Mime + ${CURL_LIBRARIES} +) install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${SINK_RESOURCE_PLUGINS_PATH}) add_executable(sink_smtp_test smtptest.cpp mailtransport.cpp) -qt5_use_modules(sink_smtp_test Core Network) -target_link_libraries(sink_smtp_test sink KF5::Mime ${CURL_LIBRARIES}) +target_link_libraries(sink_smtp_test + sink + Qt5::Core + Qt5::Network + KF5::Mime + ${CURL_LIBRARIES} +) install(TARGETS sink_smtp_test ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) add_subdirectory(tests) diff --git a/synchronizer/CMakeLists.txt b/synchronizer/CMakeLists.txt index e049d64..2f8b128 100644 --- a/synchronizer/CMakeLists.txt +++ b/synchronizer/CMakeLists.txt @@ -7,6 +7,11 @@ set(sinksynchronizer_SRCS ) add_executable(${PROJECT_NAME} ${sinksynchronizer_SRCS}) -target_link_libraries(${PROJECT_NAME} sink KAsync ${CMAKE_DL_LIBS}) -qt5_use_modules(${PROJECT_NAME} Core Network) +target_link_libraries(${PROJECT_NAME} + sink + Qt5::Core + Qt5::Network + KAsync + ${CMAKE_DL_LIBS} +) install(TARGETS ${PROJECT_NAME} ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 2b3e7b1..b0333a4 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -13,8 +13,14 @@ add_definitions(-DTESTDATAPATH="${CMAKE_CURRENT_SOURCE_DIR}/data") find_package(KF5 COMPONENTS REQUIRED Mime) add_library(sink_test SHARED testimplementations.cpp getrssusage.cpp mailtest.cpp mailsynctest.cpp mailthreadtest.cpp) -qt5_use_modules(sink_test Core Test Concurrent) -target_link_libraries(sink_test sink libhawd KF5::Mime) +target_link_libraries(sink_test + sink + libhawd + Qt5::Core + Qt5::Concurrent + Qt5::Test + KF5::Mime +) add_executable(dbwriter dbwriter.cpp) target_link_libraries(dbwriter sink) diff --git a/tests/SinkTest.cmake b/tests/SinkTest.cmake index 03076e7..4eb8f43 100644 --- a/tests/SinkTest.cmake +++ b/tests/SinkTest.cmake @@ -17,8 +17,13 @@ macro(auto_tests) add_executable(${_testname} ${_testname}.cpp) add_test(${_testname} ${_testname}) add_memcheck_test(${_testname} ${_testname}) - qt5_use_modules(${_testname} Core Test Concurrent) - target_link_libraries(${_testname} sink libhawd sink_test) + target_link_libraries(${_testname} + sink libhawd + sink_test + Qt5::Core + Qt5::Concurrent + Qt5::Test + ) endforeach(_testname) endmacro(auto_tests) @@ -26,7 +31,13 @@ macro(manual_tests) foreach(_testname ${ARGN}) add_executable(${_testname} ${_testname}.cpp) add_memcheck_test(${_testname} ${_testname}) - qt5_use_modules(${_testname} Core Test Concurrent) - target_link_libraries(${_testname} sink libhawd sink_test) + target_link_libraries(${_testname} + sink + libhawd + sink_test + Qt5::Core + Qt5::Concurrent + Qt5::Test + ) endforeach(_testname) endmacro(manual_tests) diff --git a/tests/hawd/CMakeLists.txt b/tests/hawd/CMakeLists.txt index 6ae5f13..7546920 100644 --- a/tests/hawd/CMakeLists.txt +++ b/tests/hawd/CMakeLists.txt @@ -27,8 +27,7 @@ set(SRCS add_library(lib${PROJECT_NAME} SHARED ${lib_SRCS}) generate_export_header(lib${PROJECT_NAME} BASE_NAME HAWD EXPORT_FILE_NAME hawd_export.h) -qt5_use_modules(lib${PROJECT_NAME} Core) -target_link_libraries(lib${PROJECT_NAME} sink) +target_link_libraries(lib${PROJECT_NAME} sink Qt5::Core) if (LIBGIT2_FOUND) target_link_libraries(lib${PROJECT_NAME} ${LIBGIT2_LIBRARIES}) endif(LIBGIT2_FOUND) @@ -36,8 +35,7 @@ endif(LIBGIT2_FOUND) install(TARGETS lib${PROJECT_NAME} ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) add_executable(${PROJECT_NAME} ${SRCS}) -qt5_use_modules(${PROJECT_NAME} Core) -target_link_libraries(${PROJECT_NAME} lib${PROJECT_NAME}) +target_link_libraries(${PROJECT_NAME} lib${PROJECT_NAME} Qt5::Core) if (LIBGIT2_FOUND) target_link_libraries(${PROJECT_NAME} ${LIBGIT2_LIBRARIES}) endif(LIBGIT2_FOUND) -- cgit v1.2.3