Introduces a new `core/applications` QML/C++ module (`Nebula.Applications`) to discover `.desktop` entries, expose filterable application models, and launch installed apps safely from the shell. The desktop launcher now uses real installed apps with themed icon loading and fallback glyphs, adds output-aware surface sizing via `OutputTracker`, and wires in image/icon providers. It also adds VMware-focused Sway/shell wrapper scripts, updates Sway config/session env defaults, and refreshes README docs to document the new development flow and Desktop 0.1 behavior.
45 lines
1.0 KiB
CMake
45 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
if(NOT TARGET Qt6::Qml)
|
|
project(NebulaApplications LANGUAGES CXX)
|
|
find_package(Qt6 6.4 REQUIRED COMPONENTS Core Gui Qml)
|
|
qt_standard_project_setup(REQUIRES 6.4)
|
|
endif()
|
|
|
|
qt_add_library(NebulaApplications STATIC)
|
|
|
|
qt_add_qml_module(NebulaApplications
|
|
URI Nebula.Applications
|
|
VERSION 1.0
|
|
RESOURCE_PREFIX /qt/qml
|
|
SOURCES
|
|
DesktopEntry.hpp
|
|
DesktopEntry.cpp
|
|
ApplicationModel.hpp
|
|
ApplicationModel.cpp
|
|
ApplicationFilterModel.hpp
|
|
ApplicationFilterModel.cpp
|
|
ApplicationService.hpp
|
|
ApplicationService.cpp
|
|
)
|
|
|
|
target_include_directories(NebulaApplications
|
|
PUBLIC
|
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
|
)
|
|
|
|
target_link_libraries(NebulaApplications
|
|
PUBLIC
|
|
Qt6::Core
|
|
Qt6::Gui
|
|
Qt6::Qml
|
|
)
|
|
|
|
set_target_properties(NebulaApplications PROPERTIES
|
|
AUTOMOC ON
|
|
)
|
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
|
target_compile_options(NebulaApplications PRIVATE -Wall -Wextra)
|
|
endif()
|