Files
TNCcat/CMakeLists.txt
T
JulianandClaude Opus 5 a01843a312 Revert the X11 window shaping
It did not build, xcb_shape_id was not resolving, and it was not worth fixing.
It bought a workaround for one configuration, cost two libraries and a window
grab fifteen times a second, and still gave harder edges than the thing it was
working around.

Qt's transparent window background is the right mechanism and it already works.
On X11 it needs a compositing manager, which Xfce ships with and which was
simply switched off. The warning that names that setting stays, so the cause
shows up in the log.

Kept from the reverted commit: opaque mode paints a neutral card rather than
the coat colour.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 10:21:51 +02:00

66 lines
2.1 KiB
CMake

cmake_minimum_required(VERSION 3.21)
project(TNCat
VERSION 0.3.0
DESCRIPTION "A cute desktop cat that wanders along the bottom of your screen"
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# No Qt Quick Controls and no Qt Widgets: the whole interface is plain Qt Quick.
find_package(Qt6 6.5 REQUIRED COMPONENTS Core Gui Quick QuickShapes)
qt_standard_project_setup(REQUIRES 6.5)
qt_add_executable(tncat
src/main.cpp
src/catcontroller.h src/catcontroller.cpp
src/appsettings.h src/appsettings.cpp
src/platforminfo.h src/platforminfo.cpp
)
target_include_directories(tncat PRIVATE src)
# QML files live in qml/ but register at the module root (TNCat.Main etc.)
set(TNCAT_QML Main Desktop Cat Chip Cup CatWindow ChipWindow CupWindow OverlayWindow
SettingsWindow AppButton AppSlider AppToggle SettingsGroup)
foreach(qmlfile IN LISTS TNCAT_QML)
set_source_files_properties(qml/${qmlfile}.qml PROPERTIES QT_RESOURCE_ALIAS ${qmlfile}.qml)
list(APPEND TNCAT_QML_FILES qml/${qmlfile}.qml)
endforeach()
qt_add_qml_module(tncat
URI TNCat
VERSION 1.0
QML_FILES ${TNCAT_QML_FILES}
)
target_link_libraries(tncat PRIVATE
Qt6::Core Qt6::Gui Qt6::Quick Qt6::QuickShapes)
set_target_properties(tncat PROPERTIES
MACOSX_BUNDLE TRUE
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/Info.plist.in
MACOSX_BUNDLE_GUI_IDENTIFIER app.tncat.example
MACOSX_BUNDLE_BUNDLE_NAME TNCat
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
WIN32_EXECUTABLE TRUE)
include(GNUInstallDirs)
install(TARGETS tncat
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
if(UNIX AND NOT APPLE)
install(FILES linux/tncat.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
endif()
qt_generate_deploy_qml_app_script(
TARGET tncat
OUTPUT_SCRIPT deploy_script
MACOS_BUNDLE_POST_BUILD
NO_UNSUPPORTED_PLATFORM_ERROR
DEPLOY_USER_QML_MODULES_ON_UNSUPPORTED_PLATFORM)
install(SCRIPT ${deploy_script})