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

View File

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