[packagechooser*] Modernize linking with dependencies

This commit is contained in:
Adriaan de Groot 2024-02-19 00:00:25 +01:00
parent 87be4c4a81
commit a5dbe793d9
2 changed files with 18 additions and 23 deletions

View File

@ -4,8 +4,6 @@
# SPDX-License-Identifier: BSD-2-Clause
#
find_package(${qtname} COMPONENTS Core Gui Widgets REQUIRED)
set(_extra_libraries "")
set(_extra_src "")
### OPTIONAL AppData XML support in PackageModel
#
@ -13,11 +11,6 @@ set(_extra_src "")
option(BUILD_APPDATA "Support appdata: items in PackageChooser (requires QtXml)" OFF)
if(BUILD_APPDATA)
find_package(${qtname} REQUIRED COMPONENTS Xml)
if(TARGET ${qtname}::Xml)
add_definitions(-DHAVE_APPDATA)
list(APPEND _extra_libraries ${qtname}::Xml)
list(APPEND _extra_src ItemAppData.cpp)
endif()
endif()
### OPTIONAL AppStream support in PackageModel
@ -33,24 +26,27 @@ calamares_add_plugin(packagechooser
PackageChooserPage.cpp
PackageChooserViewStep.cpp
PackageModel.cpp
${_extra_src}
RESOURCES
packagechooser.qrc
UI
page_package.ui
LINK_PRIVATE_LIBRARIES
${_extra_libraries}
SHARED_LIB
)
if(AppStreamQt_FOUND)
target_link_libraries(calamares_viewmodule_packagechooser PRIVATE calamares::appstreamqt)
target_sources(calamares_viewmodule_packagechooser PRIVATE ItemAppStream.cpp)
target_link_libraries(${packagechooser_TARGET} PRIVATE calamares::appstreamqt)
target_sources(${packagechooser_TARGET} PRIVATE ItemAppStream.cpp)
endif()
if(BUILD_APPDATA AND TARGET ${qtname}::Xml)
target_compile_definitions(${packagechooser_TARGET} PRIVATE HAVE_APPDATA)
target_link_libraries(${packagechooser_TARGET} PRIVATE ${qtname}::Xml)
target_sources(${packagechooser_TARGET} PRIVATE ItemAppData.cpp)
endif()
calamares_add_test(
packagechoosertest
GUI
SOURCES Tests.cpp
LIBRARIES calamares_viewmodule_packagechooser ${_extra_libraries}
LIBRARIES ${packagechooser_TARGET}
)

View File

@ -10,12 +10,9 @@ if(NOT WITH_QML)
endif()
find_package(${qtname} ${QT_VERSION} CONFIG REQUIRED Core)
set(_extra_libraries "")
set(_extra_src "")
# include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../packagechooser )
set(_packagechooser ${CMAKE_CURRENT_SOURCE_DIR}/../packagechooser)
include_directories(${_packagechooser})
### OPTIONAL AppData XML support in PackageModel
#
@ -23,11 +20,6 @@ include_directories(${_packagechooser})
option(BUILD_APPDATA "Support appdata: items in PackageChooser (requires QtXml)" OFF)
if(BUILD_APPDATA)
find_package(${qtname} REQUIRED COMPONENTS Xml)
if(TARGET ${qtname}::Xml)
add_definitions(-DHAVE_APPDATA)
list(APPEND _extra_libraries ${qtname}::Xml)
list(APPEND _extra_src ${_packagechooser}/ItemAppData.cpp)
endif()
endif()
### OPTIONAL AppStream support in PackageModel
@ -50,8 +42,15 @@ calamares_add_plugin(packagechooserq
${_extra_libraries}
SHARED_LIB
)
target_include_directories(${packagechooserq_TARGET} PRIVATE ${_packagechooser})
if(AppStreamQt_FOUND)
target_link_libraries(calamares_viewmodule_packagechooserq PRIVATE calamares::appstreamqt)
target_sources(calamares_viewmodule_packagechooserq PRIVATE ${_packagechooser}/ItemAppStream.cpp)
target_link_libraries(${packagechooserq_TARGET} PRIVATE calamares::appstreamqt)
target_sources(${packagechooserq_TARGET} PRIVATE ${_packagechooser}/ItemAppStream.cpp)
endif()
if(BUILD_APPDATA AND TARGET ${qtname}::Xml)
target_compile_definitions(${packagechooserq_TARGET} PRIVATE HAVE_APPDATA)
target_link_libraries(${packagechooserq_TARGET} PRIVATE ${qtname}::Xml)
target_sources(${packagechooserq_TARGET} PRIVATE ${_packagechooser}/ItemAppData.cpp)
endif()