cmake_minimum_required(VERSION 3.16)
set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/designsystem")

project(designsystem VERSION 0.1 LANGUAGES CXX)

find_package(Qt6 6.2 COMPONENTS Quick REQUIRED)

qt_add_library(designsystem STATIC)

set(plain_qml_files
  AppText.qml
  AppIcon.qml
  AppPrimaryButton.qml
  AppSecondaryButton.qml
  AppGhostButton.qml
  AppIconButton.qml
  AppCard.qml
  AppCaption.qml
  AppHeadline.qml
  AppSubHeadline.qml
  AppLabel.qml
  AppLogo.qml
  AppWindow.qml
  AppComboBox.qml
  AppTextField.qml
  AppTextArea.qml
  AppImage.qml
  AppLink.qml
  AppWarning.qml
  AppMenu.qml
  AppPane.qml
)
set(qml_singletons
  Fonts.qml
  Theme.qml
)
set_source_files_properties(${qml_singletons}
    PROPERTIES QT_QML_SINGLETON_TYPE TRUE)
set(icons
    icons/wifi-medium-duotone.svg
    icons/cloud-check-duotone.svg
    icons/layout-duotone.svg
    icons/person-simple-run-duotone.svg
    icons/pen-duotone.svg
    icons/binoculars-duotone.svg
    icons/magic-wand-duotone.svg
    icons/list-duotone.svg
    icons/broom-duotone.svg
    icons/terminal-duotone.svg
    icons/caret-down-duotone.svg
    icons/caret-up-duotone.svg
    icons/caret-right-duotone.svg
    icons/caret-left-duotone.svg
    icons/navigation-arrow-duotone.svg
    icons/plus-duotone.svg
    icons/split-vertical-duotone.svg
    icons/split-horizontal-duotone.svg
    icons/x-circle-duotone.svg
    icons/tag-chevron-duotone.svg
    icons/flying-saucer-duotone.svg
    icons/arrow-fat-left-duotone.svg
    icons/arrow-fat-right-duotone.svg
    icons/arrow-fat-up-duotone.svg
    icons/arrow-fat-down-duotone.svg
    icons/book-open-text-duotone.svg
    icons/star-duotone.svg
    icons/bookmark-duotone.svg
    icons/book-duotone.svg
    icons/bookmarks-duotone.svg
    icons/file-plus-duotone.svg
    icons/magnifying-glass-minus-duotone.svg
    icons/magnifying-glass-plus-duotone.svg
    icons/stack-duotone.svg
    icons/squares-four-duotone.svg
    icons/speaker-high-duotone.svg
    icons/speaker-low-duotone.svg
    icons/speaker-x-duotone.svg
    icons/mouse-scroll-duotone.svg
    icons/camera-duotone.svg
    icons/selection-all-duotone.svg
    icons/command-duotone.svg
    icons/file-magnifying-glass-duotone.svg
    icons/folder-open-duotone.svg
    icons/flower-lotus-duotone.svg
    icons/git-branch-duotone.svg
    icons/trash-duotone.svg
    icons/arrows-out-duotone.svg
    icons/arrows-out-line-horizontal-duotone.svg
    icons/arrows-out-line-vertical-duotone.svg
    icons/sidebar-duotone.svg
    icons/yin-yang-duotone.svg
    icons/apple-logo-duotone.svg

    anronicons/mono/basic/bookmark.svg
    anronicons/duotone/basic/bookmark.svg
    anronicons/duocolor/basic/bookmark.svg
    anronicons/filled/basic/bookmark.svg
    anronicons/line/basic/bookmark.svg
    anronicons/gestalt/basic/bookmark.svg

    anronicons/mono/restaurant/cutlery.svg
    anronicons/mono/restaurant/coffee.svg
    anronicons/mono/restaurant/glass-cocktail.svg
    anronicons/mono/restaurant/glass-wine.svg
    anronicons/mono/restaurant/cutlery-4.svg
    anronicons/mono/restaurant/cutlery-3.svg
    anronicons/mono/restaurant/cutlery-2.svg
    anronicons/mono/audiovisual/play-slowmotion.svg
    anronicons/mono/audiovisual/pause-circle.svg
    anronicons/mono/audiovisual/film-tape.svg
    anronicons/mono/audiovisual/play-circle.svg
    anronicons/mono/audiovisual/repeat.svg
    anronicons/mono/audiovisual/play-previous.svg
    anronicons/mono/audiovisual/replay-15-rec.svg
    anronicons/mono/audiovisual/fast-rewind.svg
    anronicons/mono/audiovisual/verified.svg
    anronicons/mono/audiovisual/captions.svg
    anronicons/mono/audiovisual/replay-5-rec.svg
    anronicons/mono/audiovisual/repeat-on.svg
    anronicons/mono/audiovisual/games.svg
    anronicons/mono/audiovisual/replay-rec.svg
    anronicons/mono/audiovisual/playlist-plus.svg
    anronicons/mono/audiovisual/captions-2.svg
    anronicons/mono/audiovisual/webcam-slash.svg
    anronicons/mono/audiovisual/music-queue.svg
    anronicons/mono/audiovisual/soundwave.svg
    anronicons/mono/audiovisual/video-library.svg
    anronicons/mono/audiovisual/stop-circle.svg
    anronicons/mono/audiovisual/minimize.svg
    anronicons/mono/audiovisual/volume-cross.svg
    anronicons/mono/audiovisual/replay-15.svg
    anronicons/mono/audiovisual/maximize-3-rec.svg
    anronicons/mono/audiovisual/forward-5.svg
    anronicons/mono/audiovisual/music-plus.svg
    anronicons/mono/audiovisual/webcam.svg
    anronicons/mono/audiovisual/soundwave-rec.svg
    anronicons/mono/audiovisual/tv.svg
    anronicons/mono/audiovisual/book-queue.svg
    anronicons/mono/audiovisual/video-plus.svg
    anronicons/mono/audiovisual/radio.svg
    anronicons/mono/audiovisual/replay-10.svg
    anronicons/mono/audiovisual/playlist.svg
    anronicons/mono/audiovisual/label-hd.svg
    anronicons/mono/audiovisual/stop.svg
    anronicons/mono/audiovisual/music-library.svg
    anronicons/mono/audiovisual/record.svg
    anronicons/mono/audiovisual/music-note.svg
    anronicons/mono/audiovisual/forward-5-rec.svg
    anronicons/mono/audiovisual/label-hq.svg
    anronicons/mono/audiovisual/forward-15-rec.svg
    anronicons/mono/audiovisual/replay.svg
    anronicons/mono/audiovisual/mic.svg
    anronicons/mono/audiovisual/maximize-3.svg
    anronicons/mono/audiovisual/forward-10-rec.svg
    anronicons/mono/audiovisual/volume-mute.svg
    anronicons/mono/audiovisual/fast-forward.svg
    anronicons/mono/audiovisual/label-explicit.svg
    anronicons/mono/audiovisual/play.svg
    anronicons/mono/audiovisual/forward-10.svg
    anronicons/mono/audiovisual/book-plus.svg
    anronicons/mono/audiovisual/film-reel.svg
    anronicons/mono/audiovisual/forward-15.svg
    anronicons/mono/audiovisual/book-library.svg
    anronicons/mono/audiovisual/cd.svg
    anronicons/mono/audiovisual/video-queue.svg
    anronicons/mono/audiovisual/play-next.svg
    anronicons/mono/audiovisual/music-note-3.svg
    anronicons/mono/audiovisual/volume-high.svg
    anronicons/mono/audiovisual/equalizer.svg
    anronicons/mono/audiovisual/music-note-2.svg
    anronicons/mono/audiovisual/minimize-rec.svg
    anronicons/mono/audiovisual/film-board.svg
    anronicons/mono/audiovisual/video-camera-slash.svg
    anronicons/mono/audiovisual/replay-5.svg
    anronicons/mono/audiovisual/video-camera.svg
    anronicons/mono/audiovisual/replay-10-rec.svg
    anronicons/mono/audiovisual/playlist-play.svg
    anronicons/mono/audiovisual/volume-low.svg
    anronicons/mono/audiovisual/shuffle.svg
    anronicons/mono/audiovisual/mic-slash.svg
    anronicons/mono/audiovisual/pause.svg
    anronicons/mono/audiovisual/label-4k.svg
    anronicons/mono/audiovisual/new-release.svg
    anronicons/mono/audiovisual/volume-slash.svg
    anronicons/mono/audiovisual/miniplayer.svg
    anronicons/mono/chat/comment-dots.svg
    anronicons/mono/chat/comment-cancel.svg
    anronicons/mono/chat/comments-2.svg
    anronicons/mono/chat/comment-alert.svg
    anronicons/mono/chat/comment-2-dots.svg
    anronicons/mono/chat/comments.svg
    anronicons/mono/chat/comment-2-info.svg
    anronicons/mono/chat/comment-check.svg
    anronicons/mono/chat/comment-2-plus.svg
    anronicons/mono/chat/comment-2-minus.svg
    anronicons/mono/chat/comment-slash.svg
    anronicons/mono/chat/comment-plus.svg
    anronicons/mono/chat/comment-text.svg
    anronicons/mono/chat/comment-2-alert.svg
    anronicons/mono/chat/comment-2-cancel.svg
    anronicons/mono/chat/comment-2-text.svg
    anronicons/mono/chat/comment-2-question.svg
    anronicons/mono/chat/comment-2-slash.svg
    anronicons/mono/chat/comment-minus.svg
    anronicons/mono/chat/comment-2-check.svg
    anronicons/mono/chat/comment.svg
    anronicons/mono/chat/comment-2.svg
    anronicons/mono/security/fingerprint-2.svg
    anronicons/mono/security/fingerprint-rec.svg
    anronicons/mono/security/lock-2-slash.svg
    anronicons/mono/security/fingerprint-2-rec.svg
    anronicons/mono/security/lock-slash.svg
    anronicons/mono/security/lock.svg
    anronicons/mono/security/key.svg
    anronicons/mono/security/shield.svg
    anronicons/mono/security/scan-rec.svg
    anronicons/mono/security/shield-cross.svg
    anronicons/mono/security/server.svg
    anronicons/mono/security/lock-2-opened.svg
    anronicons/mono/security/scan.svg
    anronicons/mono/security/eye-slash.svg
    anronicons/mono/security/lock-2.svg
    anronicons/mono/security/face-id.svg
    anronicons/mono/security/server-2.svg
    anronicons/mono/security/bug.svg
    anronicons/mono/security/lock-opened.svg
    anronicons/mono/security/eye.svg
    anronicons/mono/security/face-id-rec.svg
    anronicons/mono/security/shield-check.svg
    anronicons/mono/security/fingerprint.svg
    anronicons/mono/images/lightning.svg
    anronicons/mono/images/camera-slash.svg
    anronicons/mono/images/image-upload.svg
    anronicons/mono/images/apperture.svg
    anronicons/mono/images/image-check.svg
    anronicons/mono/images/image-plus.svg
    anronicons/mono/images/image-slash.svg
    anronicons/mono/images/image.svg
    anronicons/mono/images/color-filter.svg
    anronicons/mono/images/camera.svg
    anronicons/mono/images/image-2.svg
    anronicons/mono/images/image-edit.svg
    anronicons/mono/images/image-3.svg
    anronicons/mono/images/image-cross.svg
    anronicons/mono/images/lightning-slash.svg
    anronicons/mono/images/image-download.svg
    anronicons/mono/electronics/bulb.svg
    anronicons/mono/electronics/smartphone.svg
    anronicons/mono/electronics/watch-2.svg
    anronicons/mono/electronics/devices.svg
    anronicons/mono/electronics/keyboard.svg
    anronicons/mono/electronics/bulb-slash.svg
    anronicons/mono/electronics/keyboard-show.svg
    anronicons/mono/electronics/glasses-vr.svg
    anronicons/mono/electronics/battery-charging.svg
    anronicons/mono/electronics/plug.svg
    anronicons/mono/electronics/dashboard.svg
    anronicons/mono/electronics/thermometer.svg
    anronicons/mono/electronics/battery-1.svg
    anronicons/mono/electronics/battery.svg
    anronicons/mono/electronics/battery-3.svg
    anronicons/mono/electronics/hard-drive.svg
    anronicons/mono/electronics/headphones.svg
    anronicons/mono/electronics/watch.svg
    anronicons/mono/electronics/battery-2.svg
    anronicons/mono/electronics/flashcard.svg
    anronicons/mono/electronics/memory-card.svg
    anronicons/mono/electronics/speaker.svg
    anronicons/mono/electronics/diskette.svg
    anronicons/mono/electronics/dashboard-2.svg
    anronicons/mono/electronics/weighter-2.svg
    anronicons/mono/electronics/battery-slash.svg
    anronicons/mono/electronics/laptop.svg
    anronicons/mono/electronics/plug-slash.svg
    anronicons/mono/electronics/keyboard-hide.svg
    anronicons/mono/electronics/tablet.svg
    anronicons/mono/electronics/processor.svg
    anronicons/mono/electronics/weighter.svg
    anronicons/mono/electronics/mouse.svg
    anronicons/mono/electronics/monitor.svg
    anronicons/mono/electronics/headphones-2.svg
    anronicons/mono/brands/figma.svg
    anronicons/mono/brands/appstore.svg
    anronicons/mono/brands/android.svg
    anronicons/mono/brands/github.svg
    anronicons/mono/brands/messanger.svg
    anronicons/mono/brands/instagram.svg
    anronicons/mono/brands/notion.svg
    anronicons/mono/brands/googleplay.svg
    anronicons/mono/brands/spotify.svg
    anronicons/mono/brands/facebook.svg
    anronicons/mono/brands/pinterest.svg
    anronicons/mono/brands/photoshop.svg
    anronicons/mono/brands/windows.svg
    anronicons/mono/brands/youtube.svg
    anronicons/mono/brands/producthunt.svg
    anronicons/mono/brands/sketch.svg
    anronicons/mono/brands/illustrator.svg
    anronicons/mono/brands/dribbble.svg
    anronicons/mono/brands/linkedin.svg
    anronicons/mono/brands/twitter.svg
    anronicons/mono/brands/framer.svg
    anronicons/mono/brands/soundcloud.svg
    anronicons/mono/brands/apple.svg
    anronicons/mono/brands/behance.svg
    anronicons/mono/basic/toggle-on.svg
    anronicons/mono/basic/search.svg
    anronicons/mono/basic/receipt.svg
    anronicons/mono/basic/activity-2.svg
    anronicons/mono/basic/megaphone.svg
    anronicons/mono/basic/briefcase-2.svg
    anronicons/mono/basic/infinity-rec.svg
    anronicons/mono/basic/target.svg
    anronicons/mono/basic/crosshair.svg
    anronicons/mono/basic/airplay.svg
    anronicons/mono/basic/inbox-out.svg
    anronicons/mono/basic/sliders-horiz-2.svg
    anronicons/mono/basic/wifi-slash.svg
    anronicons/mono/basic/tag-2.svg
    anronicons/mono/basic/umbrella.svg
    anronicons/mono/basic/menu-2.svg
    anronicons/mono/basic/emotion-sad.svg
    anronicons/mono/basic/home.svg
    anronicons/mono/basic/copyright.svg
    anronicons/mono/basic/shopping-cart-2.svg
    anronicons/mono/basic/plus-rec.svg
    anronicons/mono/basic/flag-2.svg
    anronicons/mono/basic/flag-3.svg
    anronicons/mono/basic/ticket.svg
    anronicons/mono/basic/brackets.svg
    anronicons/mono/basic/tag.svg
    anronicons/mono/basic/briefcase.svg
    anronicons/mono/basic/inbox.svg
    anronicons/mono/basic/power.svg
    anronicons/mono/basic/menu-rec.svg
    anronicons/mono/basic/sort-text-rec.svg
    anronicons/mono/basic/terminal.svg
    anronicons/mono/basic/power-rec.svg
    anronicons/mono/basic/presentation-chart.svg
    anronicons/mono/basic/at-rec.svg
    anronicons/mono/basic/fire.svg
    anronicons/mono/basic/shopping-bag.svg
    anronicons/mono/basic/cross-rec.svg
    anronicons/mono/basic/sliders-horiz.svg
    anronicons/mono/basic/toggle-off.svg
    anronicons/mono/basic/wifi-rec.svg
    anronicons/mono/basic/more-vert-rec.svg
    anronicons/mono/basic/sort-text.svg
    anronicons/mono/basic/box-2.svg
    anronicons/mono/basic/brush.svg
    anronicons/mono/basic/at.svg
    anronicons/mono/basic/brackets-rec.svg
    anronicons/mono/basic/thumbs-down.svg
    anronicons/mono/basic/archive.svg
    anronicons/mono/basic/tags-2.svg
    anronicons/mono/basic/planet.svg
    anronicons/mono/basic/book-open.svg
    anronicons/mono/basic/bed-2.svg
    anronicons/mono/basic/inbox-in.svg
    anronicons/mono/basic/broadcast-rec.svg
    anronicons/mono/basic/bookmark-minus.svg
    anronicons/mono/basic/layers.svg
    anronicons/mono/basic/slash.svg
    anronicons/mono/basic/book.svg
    anronicons/mono/basic/heart-slash.svg
    anronicons/mono/basic/dashboard.svg
    anronicons/mono/basic/loader-rec.svg
    anronicons/mono/basic/cast.svg
    anronicons/mono/basic/flag.svg
    anronicons/mono/basic/sliders-vert-2.svg
    anronicons/mono/basic/newspaper.svg
    anronicons/mono/basic/emotion-smile.svg
    anronicons/mono/basic/sliders-vert.svg
    anronicons/mono/basic/bed-3.svg
    anronicons/mono/basic/emotion-neutral.svg
    anronicons/mono/basic/sort-number-reverse-rec.svg
    anronicons/mono/basic/trophy.svg
    anronicons/mono/basic/plus.svg
    anronicons/mono/basic/check.svg
    anronicons/mono/basic/nut.svg
    anronicons/mono/basic/more-vert.svg
    anronicons/mono/basic/wheelchair-rec.svg
    anronicons/mono/basic/bluetooth.svg
    anronicons/mono/basic/filter-2.svg
    anronicons/mono/basic/email.svg
    anronicons/mono/basic/wifi.svg
    anronicons/mono/basic/loader.svg
    anronicons/mono/basic/thumbs-up-2.svg
    anronicons/mono/basic/gear.svg
    anronicons/mono/basic/check-rec.svg
    anronicons/mono/basic/copy.svg
    anronicons/mono/basic/zoom-in.svg
    anronicons/mono/basic/glasses.svg
    anronicons/mono/basic/sort-number.svg
    anronicons/mono/basic/check-circle.svg
    anronicons/mono/basic/bookmarks.svg
    anronicons/mono/basic/home-4.svg
    anronicons/mono/basic/rocket-2.svg
    anronicons/mono/basic/broadcast.svg
    anronicons/mono/basic/inbox-filled.svg
    anronicons/mono/basic/sticker.svg
    anronicons/mono/basic/award.svg
    anronicons/mono/basic/zoom-out.svg
    anronicons/mono/basic/baby-carriage.svg
    anronicons/mono/basic/box.svg
    anronicons/mono/basic/thumbs-up.svg
    anronicons/mono/basic/checkbox-circle.svg
    anronicons/mono/basic/sort-number-rec.svg
    anronicons/mono/basic/emotion-happy.svg
    anronicons/mono/basic/send.svg
    anronicons/mono/basic/loading-trolley.svg
    anronicons/mono/basic/truck.svg
    anronicons/mono/basic/anchor-rec.svg
    anronicons/mono/basic/home-3.svg
    anronicons/mono/basic/more-horiz.svg
    anronicons/mono/basic/filter-rec.svg
    anronicons/mono/basic/infinity.svg
    anronicons/mono/basic/dashboard-2.svg
    anronicons/mono/basic/trash.svg
    anronicons/mono/basic/menu-2-rec.svg
    anronicons/mono/basic/emails.svg
    anronicons/mono/basic/hashtag.svg
    anronicons/mono/basic/star.svg
    anronicons/mono/basic/barchart.svg
    anronicons/mono/basic/wrench.svg
    anronicons/mono/basic/home-2.svg
    anronicons/mono/basic/loader-2.svg
    anronicons/mono/basic/anchor.svg
    anronicons/mono/basic/wheelchair.svg
    anronicons/mono/basic/lifebuoy.svg
    anronicons/mono/basic/minus-rec.svg
    anronicons/mono/basic/bookmark-plus.svg
    anronicons/mono/basic/star-slash.svg
    anronicons/mono/basic/plus-circle.svg
    anronicons/mono/basic/shopping-bag-2.svg
    anronicons/mono/basic/wifi-slash-rec.svg
    anronicons/mono/basic/trash-2.svg
    anronicons/mono/basic/emotion-wow.svg
    anronicons/mono/basic/gift.svg
    anronicons/mono/basic/share.svg
    anronicons/mono/basic/tags.svg
    anronicons/mono/basic/gear-2.svg
    anronicons/mono/basic/modules.svg
    anronicons/mono/basic/filter.svg
    anronicons/mono/basic/checkbox-rec.svg
    anronicons/mono/basic/dumbell.svg
    anronicons/mono/basic/cross.svg
    anronicons/mono/basic/hashtag-circle.svg
    anronicons/mono/basic/minus-circle.svg
    anronicons/mono/basic/sort-text-reverse.svg
    anronicons/mono/basic/presentation-line.svg
    anronicons/mono/basic/cut.svg
    anronicons/mono/basic/invoice.svg
    anronicons/mono/basic/bookmark-check.svg
    anronicons/mono/basic/bookmark.svg
    anronicons/mono/basic/rocket.svg
    anronicons/mono/basic/more-horiz-rec.svg
    anronicons/mono/basic/atom.svg
    anronicons/mono/basic/yin-yang.svg
    anronicons/mono/basic/bluetooth-rec.svg
    anronicons/mono/basic/menu.svg
    anronicons/mono/basic/shopping-cart.svg
    anronicons/mono/basic/shopping-basket.svg
    anronicons/mono/basic/bookmark-slash.svg
    anronicons/mono/basic/hashtag-rec.svg
    anronicons/mono/basic/minus.svg
    anronicons/mono/basic/weight.svg
    anronicons/mono/basic/activity-rec.svg
    anronicons/mono/basic/sort-number-reverse.svg
    anronicons/mono/basic/loader-2-rec.svg
    anronicons/mono/basic/thumbs-down-2.svg
    anronicons/mono/basic/swatchbook.svg
    anronicons/mono/basic/send-2.svg
    anronicons/mono/basic/sort-text-reverse-rec.svg
    anronicons/mono/basic/heart.svg
    anronicons/mono/time/clock-zzz.svg
    anronicons/mono/time/clock-minus.svg
    anronicons/mono/time/timer-2-rec.svg
    anronicons/mono/time/stopwatch-slash.svg
    anronicons/mono/time/clock-plus.svg
    anronicons/mono/time/calendar-person.svg
    anronicons/mono/time/speed.svg
    anronicons/mono/time/clock-cross.svg
    anronicons/mono/time/calendar-event.svg
    anronicons/mono/time/calendar-plus.svg
    anronicons/mono/time/stopwatch.svg
    anronicons/mono/time/calendar-dates.svg
    anronicons/mono/time/time.svg
    anronicons/mono/time/calendar-note.svg
    anronicons/mono/time/calendar-number.svg
    anronicons/mono/time/clock-slash.svg
    anronicons/mono/time/clock-check.svg
    anronicons/mono/time/timer-2.svg
    anronicons/mono/time/clock.svg
    anronicons/mono/time/history-rec.svg
    anronicons/mono/time/calendar-minus.svg
    anronicons/mono/time/calendar.svg
    anronicons/mono/time/speed-rec.svg
    anronicons/mono/time/history.svg
    anronicons/mono/time/timer.svg
    anronicons/mono/time/calendar-arrow-right.svg
    anronicons/mono/time/calendar-cross.svg
    anronicons/mono/alerts/cross-octagon.svg
    anronicons/mono/alerts/notification-indicator.svg
    anronicons/mono/alerts/bell-minus.svg
    anronicons/mono/alerts/question.svg
    anronicons/mono/alerts/bell-plus.svg
    anronicons/mono/alerts/minus-octagon.svg
    anronicons/mono/alerts/bell.svg
    anronicons/mono/alerts/info.svg
    anronicons/mono/alerts/alert-circle.svg
    anronicons/mono/alerts/bell-check.svg
    anronicons/mono/alerts/bell-slash.svg
    anronicons/mono/alerts/alert-triangle.svg
    anronicons/mono/alerts/alert-octagon.svg
    anronicons/mono/alerts/check-circle-2.svg
    anronicons/mono/alerts/cross-circle.svg
    anronicons/mono/map/globe-2.svg
    anronicons/mono/map/gps-slash.svg
    anronicons/mono/map/pin-2.svg
    anronicons/mono/map/pin-3.svg
    anronicons/mono/map/pin-check.svg
    anronicons/mono/map/direction-2.svg
    anronicons/mono/map/pin-slash.svg
    anronicons/mono/map/pin.svg
    anronicons/mono/map/gps.svg
    anronicons/mono/map/direction.svg
    anronicons/mono/map/map-view.svg
    anronicons/mono/map/360-degrees.svg
    anronicons/mono/map/pin-cross.svg
    anronicons/mono/map/pin-minus.svg
    anronicons/mono/map/compass.svg
    anronicons/mono/map/globe.svg
    anronicons/mono/map/route.svg
    anronicons/mono/map/pin-plus.svg
    anronicons/mono/call/call-remove.svg
    anronicons/mono/call/voicemail.svg
    anronicons/mono/call/call-on-hold.svg
    anronicons/mono/call/call-outgoing.svg
    anronicons/mono/call/call-slash.svg
    anronicons/mono/call/call-muted.svg
    anronicons/mono/call/dialpad.svg
    anronicons/mono/call/call-calling.svg
    anronicons/mono/call/call-missed.svg
    anronicons/mono/call/call-decline.svg
    anronicons/mono/call/call-end.svg
    anronicons/mono/call/call-received.svg
    anronicons/mono/call/call-incoming.svg
    anronicons/mono/call/phone.svg
    anronicons/mono/call/call-redirected.svg
    anronicons/mono/call/call-add.svg
    anronicons/mono/users/user.svg
    anronicons/mono/users/user-square.svg
    anronicons/mono/users/user-arrow-top.svg
    anronicons/mono/users/user-arrow-bottom.svg
    anronicons/mono/users/user-cross.svg
    anronicons/mono/users/user-arrow-bl.svg
    anronicons/mono/users/user-plus.svg
    anronicons/mono/users/user-arrow-tr.svg
    anronicons/mono/users/user-minus.svg
    anronicons/mono/users/user-alert.svg
    anronicons/mono/users/user-circle.svg
    anronicons/mono/users/user-check.svg
    anronicons/mono/users/user-arrow-right.svg
    anronicons/mono/users/users.svg
    anronicons/mono/files/clipboard-plus.svg
    anronicons/mono/files/folder-upload.svg
    anronicons/mono/files/folder-slash.svg
    anronicons/mono/files/file-heart.svg
    anronicons/mono/files/file-minus.svg
    anronicons/mono/files/folder-check.svg
    anronicons/mono/files/file-cross.svg
    anronicons/mono/files/file.svg
    anronicons/mono/files/file-scan.svg
    anronicons/mono/files/file-text.svg
    anronicons/mono/files/folder-open.svg
    anronicons/mono/files/folder-music.svg
    anronicons/mono/files/clipboard.svg
    anronicons/mono/files/note-text.svg
    anronicons/mono/files/note.svg
    anronicons/mono/files/clipboard-cross.svg
    anronicons/mono/files/note-2.svg
    anronicons/mono/files/folder-compressed.svg
    anronicons/mono/files/file-draft.svg
    anronicons/mono/files/clipboard-minus.svg
    anronicons/mono/files/folder-plus.svg
    anronicons/mono/files/file-download.svg
    anronicons/mono/files/file-move.svg
    anronicons/mono/files/file-slash.svg
    anronicons/mono/files/folder-photo.svg
    anronicons/mono/files/folder-heart.svg
    anronicons/mono/files/file-check.svg
    anronicons/mono/files/folder-minus.svg
    anronicons/mono/files/folder-cross.svg
    anronicons/mono/files/folder-download.svg
    anronicons/mono/files/folder-cloud.svg
    anronicons/mono/files/file-shredder.svg
    anronicons/mono/files/file-plus.svg
    anronicons/mono/files/file-invoice.svg
    anronicons/mono/files/folder-move.svg
    anronicons/mono/files/file-code.svg
    anronicons/mono/files/clipboard-slash.svg
    anronicons/mono/files/note-2-text.svg
    anronicons/mono/files/file-upload.svg
    anronicons/mono/files/file-agreement.svg
    anronicons/mono/files/folder.svg
    anronicons/mono/files/clipboard-check.svg
    anronicons/mono/files/notebook.svg
    anronicons/mono/files/clipboard-text.svg
    anronicons/mono/weather/sunrise.svg
    anronicons/mono/weather/cloud-check.svg
    anronicons/mono/weather/cloud-upload.svg
    anronicons/mono/weather/cloud-drizzle.svg
    anronicons/mono/weather/cloud-snow.svg
    anronicons/mono/weather/cloud-cross.svg
    anronicons/mono/weather/sunset.svg
    anronicons/mono/weather/cloud-lightning.svg
    anronicons/mono/weather/sun.svg
    anronicons/mono/weather/cloud.svg
    anronicons/mono/weather/cloud-download.svg
    anronicons/mono/weather/moon.svg
    anronicons/mono/arrows/arrow-bottom-left.svg
    anronicons/mono/arrows/import-2.svg
    anronicons/mono/arrows/arrow-bottom-right.svg
    anronicons/mono/arrows/chevrons-right.svg
    anronicons/mono/arrows/arrow-right-curved-circle.svg
    anronicons/mono/arrows/chevrons-down.svg
    anronicons/mono/arrows/arrow-bottom-right-rec.svg
    anronicons/mono/arrows/import-3.svg
    anronicons/mono/arrows/arrows-move-rec.svg
    anronicons/mono/arrows/reply.svg
    anronicons/mono/arrows/log-out-2.svg
    anronicons/mono/arrows/arrow-top-right.svg
    anronicons/mono/arrows/log-out-3.svg
    anronicons/mono/arrows/arrows-move.svg
    anronicons/mono/arrows/arrow-top-circle.svg
    anronicons/mono/arrows/import-4.svg
    anronicons/mono/arrows/chevron-right-rec.svg
    anronicons/mono/arrows/chevron-down.svg
    anronicons/mono/arrows/arrows-expand-2.svg
    anronicons/mono/arrows/reply-rec.svg
    anronicons/mono/arrows/export.svg
    anronicons/mono/arrows/redo-2.svg
    anronicons/mono/arrows/arrows-move-2.svg
    anronicons/mono/arrows/rotate-cw.svg
    anronicons/mono/arrows/forward-rec.svg
    anronicons/mono/arrows/arrow-bottom-left-rec.svg
    anronicons/mono/arrows/redo-rec.svg
    anronicons/mono/arrows/maximize.svg
    anronicons/mono/arrows/chevron-up.svg
    anronicons/mono/arrows/undo-2.svg
    anronicons/mono/arrows/arrow-bottom-circle.svg
    anronicons/mono/arrows/log-in-2.svg
    anronicons/mono/arrows/log-in.svg
    anronicons/mono/arrows/redo-2-rec.svg
    anronicons/mono/arrows/refresh-cw.svg
    anronicons/mono/arrows/refresh-cw-alert.svg
    anronicons/mono/arrows/chevron-right.svg
    anronicons/mono/arrows/arrow-top-right-rec.svg
    anronicons/mono/arrows/arrow-right.svg
    anronicons/mono/arrows/log-in-3.svg
    anronicons/mono/arrows/log-out.svg
    anronicons/mono/arrows/arrow-left-circle.svg
    anronicons/mono/arrows/arrow-top-rec.svg
    anronicons/mono/arrows/import.svg
    anronicons/mono/arrows/chevrons-up-rec.svg
    anronicons/mono/arrows/code-rec.svg
    anronicons/mono/arrows/arrow-top-left.svg
    anronicons/mono/arrows/arrow-top.svg
    anronicons/mono/arrows/maximize-2-rec.svg
    anronicons/mono/arrows/code.svg
    anronicons/mono/arrows/chevrons-left-rec.svg
    anronicons/mono/arrows/refresh-ccw-alert-rec.svg
    anronicons/mono/arrows/chevron-up-rec.svg
    anronicons/mono/arrows/arrow-bottom-left-circle.svg
    anronicons/mono/arrows/chevrons-down-rec.svg
    anronicons/mono/arrows/rotate-ccw.svg
    anronicons/mono/arrows/undo-rec.svg
    anronicons/mono/arrows/trend-up.svg
    anronicons/mono/arrows/arrow-bottom-right-circle.svg
    anronicons/mono/arrows/scale.svg
    anronicons/mono/arrows/refresh-ccw.svg
    anronicons/mono/arrows/arrow-corner-ccw-lb.svg
    anronicons/mono/arrows/chevron-down-rec.svg
    anronicons/mono/arrows/arrow-corner-cw-rt-rec.svg
    anronicons/mono/arrows/arrow-right-circle.svg
    anronicons/mono/arrows/maximize-2.svg
    anronicons/mono/arrows/arrow-corner-ccw-lt.svg
    anronicons/mono/arrows/external-link-2.svg
    anronicons/mono/arrows/arrow-corner-ccw-rt-rec.svg
    anronicons/mono/arrows/arrow-top-left-rec.svg
    anronicons/mono/arrows/undo-2-rec.svg
    anronicons/mono/arrows/maximize-flipped.svg
    anronicons/mono/arrows/export-4.svg
    anronicons/mono/arrows/chevron-left-rec.svg
    anronicons/mono/arrows/redo.svg
    anronicons/mono/arrows/arrow-bottom.svg
    anronicons/mono/arrows/chevrons-right-rec.svg
    anronicons/mono/arrows/refresh-cw-alert-rec.svg
    anronicons/mono/arrows/rotate-ccw-rec.svg
    anronicons/mono/arrows/forward-all.svg
    anronicons/mono/arrows/arrow-corner-cw-rt.svg
    anronicons/mono/arrows/forward-all-rec.svg
    anronicons/mono/arrows/arrow-left-curved-circle.svg
    anronicons/mono/arrows/arrows-expand.svg
    anronicons/mono/arrows/arrow-corner-cw-rb.svg
    anronicons/mono/arrows/external-link-rec.svg
    anronicons/mono/arrows/arrow-left-rec.svg
    anronicons/mono/arrows/refresh-ccw-rec.svg
    anronicons/mono/arrows/arrow-corner-cw-lt-rec.svg
    anronicons/mono/arrows/chevrons-up.svg
    anronicons/mono/arrows/refresh-cw-rec.svg
    anronicons/mono/arrows/arrow-right-rec.svg
    anronicons/mono/arrows/arrow-bottom-rec.svg
    anronicons/mono/arrows/arrows-move-2-rec.svg
    anronicons/mono/arrows/arrow-corner-ccw-lt-rec.svg
    anronicons/mono/arrows/export-3.svg
    anronicons/mono/arrows/export-2.svg
    anronicons/mono/arrows/reply-all.svg
    anronicons/mono/arrows/maximize-2-flipped.svg
    anronicons/mono/arrows/arrows-expand-rec.svg
    anronicons/mono/arrows/arrow-top-left-circle.svg
    anronicons/mono/arrows/maximize-rec.svg
    anronicons/mono/arrows/arrow-swap-rec.svg
    anronicons/mono/arrows/external-link.svg
    anronicons/mono/arrows/trend-up-rec.svg
    anronicons/mono/arrows/undo.svg
    anronicons/mono/arrows/arrow-corner-cw-lt.svg
    anronicons/mono/arrows/chevrons-left.svg
    anronicons/mono/arrows/arrow-swap.svg
    anronicons/mono/arrows/arrow-left.svg
    anronicons/mono/arrows/arrow-corner-cw-lb.svg
    anronicons/mono/arrows/arrow-corner-cw-rb-rec.svg
    anronicons/mono/arrows/arrow-corner-ccw-rb-rec.svg
    anronicons/mono/arrows/reply-all-rec.svg
    anronicons/mono/arrows/arrow-corner-cw-lb-rec.svg
    anronicons/mono/arrows/arrow-corner-ccw-lb-rec.svg
    anronicons/mono/arrows/forward.svg
    anronicons/mono/arrows/trend-down.svg
    anronicons/mono/arrows/trend-down-rec.svg
    anronicons/mono/arrows/refresh-ccw-alert.svg
    anronicons/mono/arrows/maximize-flipped-rec.svg
    anronicons/mono/arrows/arrows-expand-2-rec.svg
    anronicons/mono/arrows/arrow-corner-ccw-rb.svg
    anronicons/mono/arrows/rotate-cw-rec.svg
    anronicons/mono/arrows/maximize-2-flipped-rec.svg
    anronicons/mono/arrows/chevron-left.svg
    anronicons/mono/arrows/arrow-top-right-circle.svg
    anronicons/mono/arrows/arrow-corner-ccw-rt.svg
    anronicons/mono/finances/dollar.svg
    anronicons/mono/finances/credit-card-outcome.svg
    anronicons/mono/finances/dollar-circle.svg
    anronicons/mono/finances/euro-circle.svg
    anronicons/mono/finances/procent.svg
    anronicons/mono/finances/wallet-move.svg
    anronicons/mono/finances/credit-card-minus.svg
    anronicons/mono/finances/euro.svg
    anronicons/mono/finances/credit-card-plus.svg
    anronicons/mono/finances/wallet-plus.svg
    anronicons/mono/finances/wallet.svg
    anronicons/mono/finances/credit-card-scan.svg
    anronicons/mono/finances/credit-card-slash.svg
    anronicons/mono/finances/cash.svg
    anronicons/mono/finances/credit-card.svg
    anronicons/mono/finances/credit-card-income.svg
    anronicons/mono/finances/pos.svg
    anronicons/mono/finances/wallet-minus.svg
    anronicons/mono/finances/procent-circle.svg
    anronicons/mono/editor/paperclip-slash-rec.svg
    anronicons/mono/editor/chart-line.svg
    anronicons/mono/editor/printer-slash.svg
    anronicons/mono/editor/first-line-1.svg
    anronicons/mono/editor/align-justify-2.svg
    anronicons/mono/editor/text-slash.svg
    anronicons/mono/editor/border-outer.svg
    anronicons/mono/editor/text-italic-rec.svg
    anronicons/mono/editor/edit-3.svg
    anronicons/mono/editor/text-slash-2-rec.svg
    anronicons/mono/editor/first-line-2.svg
    anronicons/mono/editor/align-right-2-rec.svg
    anronicons/mono/editor/small-caps-rec.svg
    anronicons/mono/editor/functions-rec.svg
    anronicons/mono/editor/first-line-3.svg
    anronicons/mono/editor/line-height-rec.svg
    anronicons/mono/editor/paint-tool.svg
    anronicons/mono/editor/letter-spacing-rec.svg
    anronicons/mono/editor/edit-2.svg
    anronicons/mono/editor/list-unordered-rec.svg
    anronicons/mono/editor/pharagraph-spacing.svg
    anronicons/mono/editor/indent-first-line-rec.svg
    anronicons/mono/editor/align-right-rec.svg
    anronicons/mono/editor/align-left-2.svg
    anronicons/mono/editor/letter-spacing-2-rec.svg
    anronicons/mono/editor/letter-spacing-2.svg
    anronicons/mono/editor/text-italic.svg
    anronicons/mono/editor/text-2.svg
    anronicons/mono/editor/align-bottom.svg
    anronicons/mono/editor/align-bottom-rec.svg
    anronicons/mono/editor/vector.svg
    anronicons/mono/editor/align-justify.svg
    anronicons/mono/editor/indent-decrease-rec.svg
    anronicons/mono/editor/column-spacing-rec.svg
    anronicons/mono/editor/border-clear.svg
    anronicons/mono/editor/paperclip-rec.svg
    anronicons/mono/editor/pen-tool-2.svg
    anronicons/mono/editor/droplet.svg
    anronicons/mono/editor/align-justify-rec.svg
    anronicons/mono/editor/edit-slash.svg
    anronicons/mono/editor/list-unordered-4-rec.svg
    anronicons/mono/editor/border-common.svg
    anronicons/mono/editor/indent-first-line.svg
    anronicons/mono/editor/small-caps-2.svg
    anronicons/mono/editor/text-bold.svg
    anronicons/mono/editor/border-inner.svg
    anronicons/mono/editor/droplet-slash.svg
    anronicons/mono/editor/align-center-2-rec.svg
    anronicons/mono/editor/paperclip-2-rec.svg
    anronicons/mono/editor/align-left-rec.svg
    anronicons/mono/editor/wrap-text-rec.svg
    anronicons/mono/editor/text-slash-2.svg
    anronicons/mono/editor/text-strikethrough-rec.svg
    anronicons/mono/editor/paperclip-2.svg
    anronicons/mono/editor/align-left-2-rec.svg
    anronicons/mono/editor/small-caps-2-rec.svg
    anronicons/mono/editor/border-vertical.svg
    anronicons/mono/editor/align-top-rec.svg
    anronicons/mono/editor/ruler.svg
    anronicons/mono/editor/list-unordered-5-rec.svg
    anronicons/mono/editor/list-ordered.svg
    anronicons/mono/editor/paperclip-2-slash-rec.svg
    anronicons/mono/editor/text-format.svg
    anronicons/mono/editor/text-strikethrough.svg
    anronicons/mono/editor/align-middle-rec.svg
    anronicons/mono/editor/functions.svg
    anronicons/mono/editor/pharagraph-spacing-rec.svg
    anronicons/mono/editor/line-height.svg
    anronicons/mono/editor/border-right.svg
    anronicons/mono/editor/text-bold-rec.svg
    anronicons/mono/editor/first-line-1-rec.svg
    anronicons/mono/editor/text.svg
    anronicons/mono/editor/align-right.svg
    anronicons/mono/editor/link-1.svg
    anronicons/mono/editor/list-unordered-3.svg
    anronicons/mono/editor/paperclip.svg
    anronicons/mono/editor/align-middle.svg
    anronicons/mono/editor/link-2-rec.svg
    anronicons/mono/editor/page-break.svg
    anronicons/mono/editor/text-block.svg
    anronicons/mono/editor/link-2.svg
    anronicons/mono/editor/printer.svg
    anronicons/mono/editor/border-top.svg
    anronicons/mono/editor/list-unordered-2.svg
    anronicons/mono/editor/column-spacing.svg
    anronicons/mono/editor/pen-tool.svg
    anronicons/mono/editor/text-underline.svg
    anronicons/mono/editor/text-underline-rec.svg
    anronicons/mono/editor/align-center-rec.svg
    anronicons/mono/editor/chart-bar.svg
    anronicons/mono/editor/quotes-2.svg
    anronicons/mono/editor/paperclip-slash.svg
    anronicons/mono/editor/align-right-2.svg
    anronicons/mono/editor/list-unordered-5.svg
    anronicons/mono/editor/chart-column.svg
    anronicons/mono/editor/edit.svg
    anronicons/mono/editor/chart-pie.svg
    anronicons/mono/editor/border-left.svg
    anronicons/mono/editor/special-charachers-rec.svg
    anronicons/mono/editor/list-unordered-4.svg
    anronicons/mono/editor/small-caps.svg
    anronicons/mono/editor/link-1-rec.svg
    anronicons/mono/editor/paperclip-2-slash.svg
    anronicons/mono/editor/letter-spacing.svg
    anronicons/mono/editor/indent-increase.svg
    anronicons/mono/editor/indent-increase-rec.svg
    anronicons/mono/editor/align-justify-2-rec.svg
    anronicons/mono/editor/border-bottom.svg
    anronicons/mono/editor/script-rec.svg
    anronicons/mono/editor/wrap-text.svg
    anronicons/mono/editor/align-center.svg
    anronicons/mono/editor/border-horizontal.svg
    anronicons/mono/editor/line-height-2-rec.svg
    anronicons/mono/editor/list-unordered.svg
    anronicons/mono/editor/first-line-2-rec.svg
    anronicons/mono/editor/special-charachers.svg
    anronicons/mono/editor/indent-decrease.svg
    anronicons/mono/editor/script.svg
    anronicons/mono/editor/first-line-3-rec.svg
    anronicons/mono/editor/list-unordered-2-rec.svg
    anronicons/mono/editor/text-slash-rec.svg
    anronicons/mono/editor/text-rec.svg
    anronicons/mono/editor/align-top.svg
    anronicons/mono/editor/list-ordered-rec.svg
    anronicons/mono/editor/line-height-2.svg
    anronicons/mono/editor/align-center-2.svg
    anronicons/mono/editor/paint-bucket.svg
    anronicons/mono/editor/quotes.svg
    anronicons/mono/editor/text-2-rec.svg
    anronicons/mono/editor/align-left.svg
    anronicons/mono/grid/grid.svg
    anronicons/mono/grid/selection-rec.svg
    anronicons/mono/grid/crop-rotate-rec.svg
    anronicons/mono/grid/slider-vertical-2.svg
    anronicons/mono/grid/padding.svg
    anronicons/mono/grid/elements-plus.svg
    anronicons/mono/grid/align-left-3.svg
    anronicons/mono/grid/crop.svg
    anronicons/mono/grid/transform.svg
    anronicons/mono/grid/elements-5.svg
    anronicons/mono/grid/slider-vertical.svg
    anronicons/mono/grid/elements-4.svg
    anronicons/mono/grid/selection.svg
    anronicons/mono/grid/kanban.svg
    anronicons/mono/grid/align-vertically.svg
    anronicons/mono/grid/grid-08.svg
    anronicons/mono/grid/elements-3.svg
    anronicons/mono/grid/elements-2.svg
    anronicons/mono/grid/grid-09.svg
    anronicons/mono/grid/fat-rows.svg
    anronicons/mono/grid/grid-07.svg
    anronicons/mono/grid/elements.svg
    anronicons/mono/grid/grid-13.svg
    anronicons/mono/grid/frame-bounds-rec.svg
    anronicons/mono/grid/align-horizontally.svg
    anronicons/mono/grid/grid-12.svg
    anronicons/mono/grid/grid-06.svg
    anronicons/mono/grid/grid-10.svg
    anronicons/mono/grid/grid-04.svg
    anronicons/mono/grid/iframe.svg
    anronicons/mono/grid/grid-05.svg
    anronicons/mono/grid/grid-11.svg
    anronicons/mono/grid/grid-15.svg
    anronicons/mono/grid/align-right-3.svg
    anronicons/mono/grid/align-bottom-2.svg
    anronicons/mono/grid/crop-rotate.svg
    anronicons/mono/grid/grid-14.svg
    anronicons/mono/grid/grid-02.svg
    anronicons/mono/grid/grid-16.svg
    anronicons/mono/grid/crop-rec.svg
    anronicons/mono/grid/frame.svg
    anronicons/mono/grid/grid-03.svg
    anronicons/mono/grid/stack.svg
    anronicons/mono/grid/slider-horizontal-2.svg
    anronicons/mono/grid/align-top-2.svg
    anronicons/mono/grid/distribute-vertically.svg
    anronicons/mono/grid/slider-horizontal.svg
    anronicons/mono/grid/distribute-horizontally.svg
    anronicons/mono/grid/frame-bounds.svg

    app-icons/safari.svg
    app-icons/vs-code.svg
    app-icons/ghostty.png
    app-icons/outlook.svg
    logos/FLOWY-3.svg
    logos/FLOWY-4.svg
    logos/FLOWY-5.svg
    logos/FLOWY-6.svg
)
set(fonts
    fonts/dotrice/Dotrice-Regular.otf
    fonts/dotrice/Dotrice-Bold.otf
    fonts/dotrice/Dotrice-Expanded.otf
    fonts/dotrice/Dotrice-Condensed.otf
    fonts/dotrice/Dotrice-Bold-Condensed.otf
    fonts/dotrice/Dotrice-Bold-Expanded.otf
    fonts/Plus_Jakarta_Sans/PlusJakartaSans-Italic-VariableFont_wght.ttf
    fonts/Plus_Jakarta_Sans/PlusJakartaSans-VariableFont_wght.ttf
)

qt_add_qml_module(designsystem
    URI DesignSystem
    RESOURCE_PREFIX /live.flowy/imports
    VERSION 1.0
    QML_FILES ${plain_qml_files} ${qml_singletons}
    RESOURCES ${icons} ${fonts}
)
target_link_libraries(designsystem
    PRIVATE
    Qt6::Quick
)

target_compile_definitions(designsystem
    PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
