# libcalamaresui is the GUI part of Calamares, which includes handling # view modules, view steps, widgets, and branding. # The UI libs use the non-UI library include_directories( ${CMAKE_SOURCE_DIR}/src/libcalamares ${CMAKE_BINARY_DIR}/src/libcalamares ) set( calamaresui_SOURCES modulesystem/CppJobModule.cpp modulesystem/Module.cpp modulesystem/ModuleManager.cpp modulesystem/ProcessJobModule.cpp modulesystem/Requirement.cpp modulesystem/RequirementsChecker.cpp modulesystem/ViewModule.cpp utils/CalamaresUtilsGui.cpp utils/DebugWindow.cpp utils/ImageRegistry.cpp utils/qjsonmodel.cpp utils/qjsonitem.cpp viewpages/BlankViewStep.cpp viewpages/ViewStep.cpp widgets/ClickableLabel.cpp widgets/FixedAspectRatioLabel.cpp widgets/waitingspinnerwidget.cpp widgets/WaitingWidget.cpp ExecutionViewStep.cpp Branding.cpp ViewManager.cpp ) # Don't warn about third-party sources mark_thirdparty_code( utils/ImageRegistry.cpp utils/qjsonitem.cpp utils/qjsonmodel.cpp widgets/waitingspinnerwidget.cpp ) set( calamaresui_UI utils/DebugWindow.ui ) if( WITH_PYTHON ) list( APPEND calamaresui_SOURCES modulesystem/PythonJobModule.cpp ) endif() if( WITH_PYTHONQT ) include_directories(${PYTHON_INCLUDE_DIRS}) # *_DIRS because we also use extensions include_directories(${PYTHONQT_INCLUDE_DIRS}) list( APPEND calamaresui_SOURCES modulesystem/PythonQtViewModule.cpp utils/PythonQtUtils.cpp viewpages/PythonQtJob.cpp viewpages/PythonQtViewStep.cpp viewpages/PythonQtGlobalStorageWrapper.cpp viewpages/PythonQtUtilsWrapper.cpp ) set( OPTIONAL_PYTHON_LIBRARIES ${PYTHON_LIBRARIES} ${PYTHONQT_LIBRARIES} ) endif() calamares_add_library( calamaresui SOURCES ${calamaresui_SOURCES} UI ${calamaresui_UI} EXPORT_MACRO UIDLLEXPORT_PRO LINK_PRIVATE_LIBRARIES ${OPTIONAL_PYTHON_LIBRARIES} LINK_LIBRARIES Qt5::Svg Qt5::QuickWidgets RESOURCES libcalamaresui.qrc EXPORT CalamaresLibraryDepends VERSION ${CALAMARES_VERSION_SHORT} ) find_package( KF5CoreAddons 5.58 QUIET ) # If it's really new if ( KF5CoreAddons_FOUND ) target_compile_definitions( calamaresui PRIVATE WITH_KOSRelease ) target_link_libraries( calamaresui PRIVATE KF5::CoreAddons ) endif()