From 6ae153b28b74897795f59cc325ff5d96e63babe8 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Wed, 29 Mar 2023 15:11:51 +0200 Subject: [PATCH] centralizing cmake settings --- .github/workflows/qmake.yml | 488 ------------------------ cmake/QskBuild.cmake | 11 +- cmake/QskExamples.cmake | 4 + cmake/QskPlayground.cmake | 4 + examples/boxes/CMakeLists.txt | 9 +- examples/buttons/CMakeLists.txt | 6 +- examples/desktop/CMakeLists.txt | 9 +- examples/frames/CMakeLists.txt | 6 +- examples/gallery/CMakeLists.txt | 12 +- examples/glabels/CMakeLists.txt | 6 +- examples/iotdashboard/CMakeLists.txt | 8 +- examples/layouts/CMakeLists.txt | 10 +- examples/listbox/CMakeLists.txt | 10 +- examples/messagebox/CMakeLists.txt | 10 +- examples/messageboxQml/CMakeLists.txt | 6 +- examples/mycontrols/CMakeLists.txt | 10 +- examples/qvgviewer/CMakeLists.txt | 10 +- examples/tabview/CMakeLists.txt | 9 +- examples/thumbnails/CMakeLists.txt | 9 +- inputcontext/CMakeLists.txt | 5 +- playground/anchors/CMakeLists.txt | 5 +- playground/dialogbuttons/CMakeLists.txt | 5 +- playground/dials/CMakeLists.txt | 5 +- playground/gradients/CMakeLists.txt | 5 +- playground/grids/CMakeLists.txt | 5 +- playground/images/CMakeLists.txt | 5 +- playground/inputpanel/CMakeLists.txt | 5 +- playground/invoker/CMakeLists.txt | 7 +- playground/shadows/CMakeLists.txt | 5 +- playground/shapes/CMakeLists.txt | 5 +- playground/webview/CMakeLists.txt | 5 +- qmlexport/CMakeLists.txt | 6 +- skins/material3/CMakeLists.txt | 8 +- skins/squiek/CMakeLists.txt | 1 - src/CMakeLists.txt | 2 - support/CMakeLists.txt | 5 +- 36 files changed, 78 insertions(+), 643 deletions(-) delete mode 100644 .github/workflows/qmake.yml create mode 100644 cmake/QskExamples.cmake create mode 100644 cmake/QskPlayground.cmake diff --git a/.github/workflows/qmake.yml b/.github/workflows/qmake.yml deleted file mode 100644 index 2033c644..00000000 --- a/.github/workflows/qmake.yml +++ /dev/null @@ -1,488 +0,0 @@ -name: CI - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - - build-linux-qt5-15: - name: Linux Qt 5.15 build - runs-on: ubuntu-latest - env: - DISPLAY: ":1" - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-5-15 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/5.15.2 - key: ${{ runner.os }}-QtCache-Qt5 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '5.15.2' - host: 'linux' - target: 'desktop' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-5-15.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - name: Ubuntu and Qt version - run: | - cat /etc/issue - echo number of processors: $(nproc) - qmake -v - - name: qmake - run: qmake qskinny.pro - - name: make - run: make -j$(nproc) - - name: Smoke test - run: | - echo starting Xvfb - Xvfb :1 & - sleep 10 - echo starting iotdashboard - ./examples/bin/iotdashboard & - sleep 10 - echo taking screenshot - import -pause 1 -window root screenshot-linux-qt5-15.jpg - echo killing iotdashboard - killall iotdashboard - echo killing Xvfb - killall Xvfb - - name: Upload smoke test artifacts - uses: actions/upload-artifact@v2 - with: - name: screenshot-linux-qt5-15.jpg - path: screenshot-linux-qt5-15.jpg - - - build-linux-qt-lts: - name: Linux Qt 6.2 (LTS) build - runs-on: ubuntu-latest - env: - DISPLAY: ":1" - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-6-2 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/6.2.4 - key: ${{ runner.os }}-QtCache-Qt6-2 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '6.2.4' - host: 'linux' - target: 'desktop' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-6-2.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - name: Install needed xkbcommon symlink - run: sudo apt-get install libxkbcommon-dev -y - - name: Ubuntu and Qt version - run: | - cat /etc/issue - echo number of processors: $(nproc) - qmake -v - - name: qmake - run: qmake qskinny.pro - - name: make - run: make -j$(nproc) - - name: Smoke test - run: | - echo starting Xvfb - Xvfb :1 & - sleep 10 - echo starting gallery - ./examples/bin/gallery & - sleep 10 - echo taking screenshot - import -pause 1 -window root screenshot-linux-qt6-2.jpg - echo killing gallery - killall gallery - echo killing Xvfb - killall Xvfb - - name: Upload smoke test artifacts - uses: actions/upload-artifact@v2 - with: - name: screenshot-linux-qt6-2.jpg - path: screenshot-linux-qt6-2.jpg - - - build-linux-qt-current: - name: Linux Qt 6.4 (current) build - runs-on: ubuntu-latest - env: - DISPLAY: ":1" - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-6-4 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/6.4.1 - key: ${{ runner.os }}-QtCache-Qt6-4 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '6.4.1' - host: 'linux' - target: 'desktop' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-6-4.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - name: Install needed xkbcommon symlink - run: sudo apt-get install libxkbcommon-dev -y - - name: Ubuntu and Qt version - run: | - cat /etc/issue - echo number of processors: $(nproc) - qmake -v - - name: qmake - run: qmake qskinny.pro - - name: make - run: make -j$(nproc) - - name: Smoke test - run: | - echo starting Xvfb - Xvfb :1 & - sleep 10 - echo starting gallery - ./examples/bin/gallery & - sleep 10 - echo taking screenshot - import -pause 1 -window root screenshot-linux-qt6-4.jpg - echo killing gallery - killall gallery - echo killing Xvfb - killall Xvfb - - name: Upload smoke test artifacts - uses: actions/upload-artifact@v2 - with: - name: screenshot-linux-qt6-4.jpg - path: screenshot-linux-qt6-4.jpg - - - build-windows-qt5-15: - name: Windows Qt 5.15 build - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-5-15 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/5.15.2 - key: ${{ runner.os }}-QtCache-Qt5 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '5.15.2' - host: 'windows' - target: 'desktop' - arch: 'win64_msvc2019_64' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-5-15.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - uses: ilammy/msvc-dev-cmd@v1 - - - name: Windows and Qt version - run: | - systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List - qmake -v - - - name: qmake - run: qmake qskinny.pro - - - name: jom - run: | - Invoke-WebRequest -Uri "https://download.qt.io/official_releases/jom/jom.zip" -OutFile jom.zip - unzip jom.zip - .\jom - - name: Smoke test - run: | - $Env:PATH += ";lib;plugins\skins" - echo "starting iotdashboard" - Start-Process .\examples\bin\iotdashboard -ArgumentList "-qwindowgeometry 1024x600+0+0" - Start-Sleep -s 10 - - uses: OrbitalOwen/desktop-screenshot-action@0.1 - with: - file-name: 'screenshot-windows-qt5-15.jpg' - - name: Cleanup smoke test - run: taskkill /IM iotdashboard.exe /T - - - build-windows-qt-lts: - name: Windows Qt 6.2 (LTS) build - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-6-2 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/6.2.4 - key: ${{ runner.os }}-QtCache-Qt6-2 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '6.2.4' - host: 'windows' - target: 'desktop' - arch: 'win64_msvc2019_64' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-6-2.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - uses: ilammy/msvc-dev-cmd@v1 - - - name: Windows and Qt version - run: | - systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List - qmake -v - - - name: qmake - run: qmake qskinny.pro - - - name: jom - run: | - Invoke-WebRequest -Uri "https://download.qt.io/official_releases/jom/jom.zip" -OutFile jom.zip - unzip jom.zip - .\jom - - name: Smoke test - run: | - $Env:PATH += ";lib;plugins\skins" - echo "starting gallery" - Start-Process .\examples\bin\gallery -ArgumentList "-qwindowgeometry 1024x600+0+0" - Start-Sleep -s 10 - - uses: OrbitalOwen/desktop-screenshot-action@0.1 - with: - file-name: 'screenshot-windows-qt6-2.jpg' - - name: Cleanup smoke test - run: taskkill /IM gallery.exe /T - - - build-windows-qt-current: - name: Windows Qt 6.4 (current) build - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-6-4 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/6.4.1 - key: ${{ runner.os }}-QtCache-Qt6-4 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '6.4.1' - host: 'windows' - target: 'desktop' - arch: 'win64_msvc2019_64' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-6-4.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - uses: ilammy/msvc-dev-cmd@v1 - - - name: Windows and Qt version - run: | - systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List - qmake -v - - - name: qmake - run: qmake qskinny.pro - - - name: jom - run: | - Invoke-WebRequest -Uri "https://download.qt.io/official_releases/jom/jom.zip" -OutFile jom.zip - unzip jom.zip - .\jom - - name: Smoke test - run: | - $Env:PATH += ";lib;plugins\skins" - echo "starting gallery" - Start-Process .\examples\bin\gallery -ArgumentList "-qwindowgeometry 1024x600+0+0" - Start-Sleep -s 10 - - uses: OrbitalOwen/desktop-screenshot-action@0.1 - with: - file-name: 'screenshot-windows-qt6-4.jpg' - - name: Cleanup smoke test - run: taskkill /IM gallery.exe /T - - - build-mac-qt5-15: - name: MacOS Qt 5.15 build - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-5-15 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/5.15.2 - key: ${{ runner.os }}-QtCache-Qt5 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '5.15.2' - host: 'mac' - target: 'desktop' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-5-15.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - name: MacOS and Qt version - run: | - sw_vers - echo number of processors: $(sysctl -n hw.ncpu) - qmake -v - - name: qmake - run: qmake qskinny.pro - - name: make - run: make -j$(sysctl -n hw.ncpu) - - name: Smoke test - run: | - DYLD_LIBRARY_PATH=./lib ./examples/bin/iotdashboard.app/Contents/MacOS/iotdashboard -qwindowgeometry 1024x600+75+100 & - sleep 10 - - uses: OrbitalOwen/desktop-screenshot-action@0.1 - with: - file-name: 'screenshot-macos-qt5-15.jpg' - - name: Cleanup smoke test - run: killall iotdashboard - - - build-mac-qt-lts: - name: MacOS Qt 6.2 (LTS) build - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-6-2 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/6.2.4 - key: ${{ runner.os }}-QtCache-Qt6-2 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '6.2.4' - host: 'mac' - target: 'desktop' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-6-2.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - name: MacOS and Qt version - run: | - sw_vers - echo number of processors: $(sysctl -n hw.ncpu) - qmake -v - - name: qmake - run: qmake qskinny.pro - - name: make - run: make -j$(sysctl -n hw.ncpu) - - name: Smoke test - run: | - DYLD_LIBRARY_PATH=./lib ./examples/bin/gallery.app/Contents/MacOS/gallery -qwindowgeometry 1024x600+75+100 & - sleep 10 - - uses: OrbitalOwen/desktop-screenshot-action@0.1 - with: - file-name: 'screenshot-macos-qt6-2.jpg' - - name: Cleanup smoke test - run: killall gallery - - build-mac-qt-current: - name: MacOS Qt 6.4 (current) build - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - - name: Cache Qt - id: cache-qt-6-4 - uses: actions/cache@v1 # not v2! - with: - path: ../Qt/6.4.1 - key: ${{ runner.os }}-QtCache-Qt6-4 - - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: '6.4.1' - host: 'mac' - target: 'desktop' - install-deps: 'true' - modules: 'qtwebengine' - cached: ${{ steps.cache-qt-6-4.outputs.cache-hit }} - setup-python: 'true' - tools: '' - set-env: 'true' - tools-only: 'false' - - - name: MacOS and Qt version - run: | - sw_vers - echo number of processors: $(sysctl -n hw.ncpu) - qmake -v - - name: qmake - run: qmake qskinny.pro - - name: make - run: make -j$(sysctl -n hw.ncpu) - - name: Smoke test - run: | - DYLD_LIBRARY_PATH=./lib ./examples/bin/gallery.app/Contents/MacOS/gallery -qwindowgeometry 1024x600+75+100 & - sleep 10 - - uses: OrbitalOwen/desktop-screenshot-action@0.1 - with: - file-name: 'screenshot-macos-qt6-4.jpg' - - name: Cleanup smoke test - run: killall gallery diff --git a/cmake/QskBuild.cmake b/cmake/QskBuild.cmake index 10624572..60423beb 100644 --- a/cmake/QskBuild.cmake +++ b/cmake/QskBuild.cmake @@ -5,13 +5,20 @@ set(QSK_VERSION ${CMAKE_PROJECT_VERSION}) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC OFF) +set(CMAKE_GLOBAL_AUTOGEN_TARGET OFF) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(AUTOGEN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/autogen") + # TODO find compiler flag equivalent list(APPEND CONFIG no_private_qt_headers_warning) list(APPEND CONFIG warn_on) list(APPEND CONFIG no_keywords) #list(APPEND CONFIG -= depend_includepath) # TODO was -= -list(APPEND CONFIG strict_c++) -list(APPEND CONFIG c++17) list(APPEND CONFIG pedantic) list(APPEND CONFIG hide_symbols) diff --git a/cmake/QskExamples.cmake b/cmake/QskExamples.cmake new file mode 100644 index 00000000..3dfb1126 --- /dev/null +++ b/cmake/QskExamples.cmake @@ -0,0 +1,4 @@ +set_target_properties(${TARGET_NAME} PROPERTIES + FOLDER examples + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/examples/bin +) diff --git a/cmake/QskPlayground.cmake b/cmake/QskPlayground.cmake new file mode 100644 index 00000000..47120832 --- /dev/null +++ b/cmake/QskPlayground.cmake @@ -0,0 +1,4 @@ +set_target_properties(${TARGET_NAME} PROPERTIES + FOLDER playground + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/playground/bin +) diff --git a/examples/boxes/CMakeLists.txt b/examples/boxes/CMakeLists.txt index de145119..56dab256 100644 --- a/examples/boxes/CMakeLists.txt +++ b/examples/boxes/CMakeLists.txt @@ -9,12 +9,9 @@ set(TARGET_NAME boxes) qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES} ${TARGET_HEADERS}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny - qsktestsupport) \ No newline at end of file + qsktestsupport) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/buttons/CMakeLists.txt b/examples/buttons/CMakeLists.txt index 1efe622b..826e35aa 100644 --- a/examples/buttons/CMakeLists.txt +++ b/examples/buttons/CMakeLists.txt @@ -14,8 +14,4 @@ target_link_libraries(${TARGET_NAME} qsktestsupport qskqmlexport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/desktop/CMakeLists.txt b/examples/desktop/CMakeLists.txt index 97a461c5..a5325a12 100644 --- a/examples/desktop/CMakeLists.txt +++ b/examples/desktop/CMakeLists.txt @@ -5,12 +5,9 @@ set(TARGET_NAME desktop) qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny - qsktestsupport) \ No newline at end of file + qsktestsupport) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/frames/CMakeLists.txt b/examples/frames/CMakeLists.txt index a72b6c94..507c3a3e 100644 --- a/examples/frames/CMakeLists.txt +++ b/examples/frames/CMakeLists.txt @@ -18,8 +18,4 @@ target_link_libraries(${TARGET_NAME} qsktestsupport qskqmlexport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/gallery/CMakeLists.txt b/examples/gallery/CMakeLists.txt index bbfc2e34..956b6ecf 100644 --- a/examples/gallery/CMakeLists.txt +++ b/examples/gallery/CMakeLists.txt @@ -17,14 +17,12 @@ list(APPEND TARGET_SOURCES Page.cpp main.cpp) +list(APPEND TARGET_RESSOURCES + icons.qrc ) + set(TARGET_NAME gallery) -qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES} ${TARGET_HEADERS}) - -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER examples) +qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES} ) target_link_libraries(${TARGET_NAME} PRIVATE @@ -34,3 +32,5 @@ target_link_libraries(${TARGET_NAME} target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR}) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/glabels/CMakeLists.txt b/examples/glabels/CMakeLists.txt index c43253c6..6a3ac90e 100644 --- a/examples/glabels/CMakeLists.txt +++ b/examples/glabels/CMakeLists.txt @@ -14,8 +14,4 @@ target_link_libraries(${TARGET_NAME} qsktestsupport qskqmlexport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/iotdashboard/CMakeLists.txt b/examples/iotdashboard/CMakeLists.txt index d9500784..ff55f694 100644 --- a/examples/iotdashboard/CMakeLists.txt +++ b/examples/iotdashboard/CMakeLists.txt @@ -84,12 +84,6 @@ qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_HEADERS} ${TARGET_RESSOURCES}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) - if(TARGET Qsk::qskinny) # integration test # - qsktestsupport doesn't exists @@ -107,3 +101,5 @@ else() PRIVATE USE_SHORTCUTS) endif() + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/layouts/CMakeLists.txt b/examples/layouts/CMakeLists.txt index f6af2099..384d2a1e 100644 --- a/examples/layouts/CMakeLists.txt +++ b/examples/layouts/CMakeLists.txt @@ -24,14 +24,10 @@ set(TARGET_NAME layouts) qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny qskqmlexport - qsktestsupport) \ No newline at end of file + qsktestsupport) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/listbox/CMakeLists.txt b/examples/listbox/CMakeLists.txt index 5ab4c420..f6aa0c15 100644 --- a/examples/listbox/CMakeLists.txt +++ b/examples/listbox/CMakeLists.txt @@ -5,13 +5,9 @@ set(TARGET_NAME listbox) qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny - qsktestsupport) \ No newline at end of file + qsktestsupport) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/messagebox/CMakeLists.txt b/examples/messagebox/CMakeLists.txt index 3801e403..b00f56e8 100644 --- a/examples/messagebox/CMakeLists.txt +++ b/examples/messagebox/CMakeLists.txt @@ -5,13 +5,9 @@ set(TARGET_NAME messagebox) qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny - qsktestsupport) \ No newline at end of file + qsktestsupport) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/messageboxQml/CMakeLists.txt b/examples/messageboxQml/CMakeLists.txt index eda4b65f..e58441eb 100644 --- a/examples/messageboxQml/CMakeLists.txt +++ b/examples/messageboxQml/CMakeLists.txt @@ -14,8 +14,4 @@ target_link_libraries(${TARGET_NAME} qsktestsupport qskqmlexport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/mycontrols/CMakeLists.txt b/examples/mycontrols/CMakeLists.txt index c99f285c..791c2d1c 100644 --- a/examples/mycontrols/CMakeLists.txt +++ b/examples/mycontrols/CMakeLists.txt @@ -13,13 +13,9 @@ set(TARGET_NAME mycontrols) qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES} ${TARGET_HEADERS}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny - qsktestsupport) \ No newline at end of file + qsktestsupport) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/qvgviewer/CMakeLists.txt b/examples/qvgviewer/CMakeLists.txt index 87ea3e66..8a18806a 100644 --- a/examples/qvgviewer/CMakeLists.txt +++ b/examples/qvgviewer/CMakeLists.txt @@ -28,12 +28,6 @@ qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_RESSOURCES} ${TARGET_SVGS}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - AUTORCC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny @@ -57,4 +51,6 @@ endif() target_sources(${TARGET_NAME} PRIVATE ${TARGET_QVGS}) source_group("generated" FILES ${TARGET_QVGS}) -source_group("svg" FILES ${TARGET_SVGS}) \ No newline at end of file +source_group("svg" FILES ${TARGET_SVGS}) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/tabview/CMakeLists.txt b/examples/tabview/CMakeLists.txt index c421f75f..19be646b 100644 --- a/examples/tabview/CMakeLists.txt +++ b/examples/tabview/CMakeLists.txt @@ -13,12 +13,9 @@ set(TARGET_NAME tabview) qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES} ${TARGET_HEADERS}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny - qsktestsupport) \ No newline at end of file + qsktestsupport) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/examples/thumbnails/CMakeLists.txt b/examples/thumbnails/CMakeLists.txt index d294a19a..b04e96e4 100644 --- a/examples/thumbnails/CMakeLists.txt +++ b/examples/thumbnails/CMakeLists.txt @@ -5,12 +5,9 @@ set(TARGET_NAME thumbnails) qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE ${TARGET_SOURCES}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER examples) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny - qsktestsupport) \ No newline at end of file + qsktestsupport) + +include(${CMAKE_SOURCE_DIR}/cmake/QskExamples.cmake) diff --git a/inputcontext/CMakeLists.txt b/inputcontext/CMakeLists.txt index fc6012bb..377cafa1 100644 --- a/inputcontext/CMakeLists.txt +++ b/inputcontext/CMakeLists.txt @@ -49,7 +49,4 @@ target_link_libraries(${TARGET_NAME} qskinny Qt::GuiPrivate) -set_target_properties(${TARGET_NAME} PROPERTIES - AUTOMOC ON) - -install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_PLUGINS}/platforminputcontexts) \ No newline at end of file +install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_PLUGINS}/platforminputcontexts) diff --git a/playground/anchors/CMakeLists.txt b/playground/anchors/CMakeLists.txt index 201d3305..a2f79d5c 100644 --- a/playground/anchors/CMakeLists.txt +++ b/playground/anchors/CMakeLists.txt @@ -30,7 +30,4 @@ target_link_libraries(${TARGET_NAME} qskinny qsktestsupport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/dialogbuttons/CMakeLists.txt b/playground/dialogbuttons/CMakeLists.txt index 7109270c..67f46189 100644 --- a/playground/dialogbuttons/CMakeLists.txt +++ b/playground/dialogbuttons/CMakeLists.txt @@ -14,7 +14,4 @@ target_link_libraries(${TARGET_NAME} qskinny qsktestsupport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/dials/CMakeLists.txt b/playground/dials/CMakeLists.txt index d10a209a..4713f2bd 100644 --- a/playground/dials/CMakeLists.txt +++ b/playground/dials/CMakeLists.txt @@ -26,7 +26,4 @@ target_link_libraries(${TARGET_NAME} qskinny qsktestsupport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/gradients/CMakeLists.txt b/playground/gradients/CMakeLists.txt index a6f745a5..2135c73d 100644 --- a/playground/gradients/CMakeLists.txt +++ b/playground/gradients/CMakeLists.txt @@ -30,7 +30,4 @@ if(TARGET quickshapes_private) ) endif() -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/grids/CMakeLists.txt b/playground/grids/CMakeLists.txt index 62fdf9b5..527562fb 100644 --- a/playground/grids/CMakeLists.txt +++ b/playground/grids/CMakeLists.txt @@ -28,7 +28,4 @@ target_link_libraries(${TARGET_NAME} qsktestsupport Qt::QuickWidgets) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/images/CMakeLists.txt b/playground/images/CMakeLists.txt index 47acbc84..d8cdeffc 100644 --- a/playground/images/CMakeLists.txt +++ b/playground/images/CMakeLists.txt @@ -21,7 +21,4 @@ target_link_libraries(${TARGET_NAME} qskqmlexport qsktestsupport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/inputpanel/CMakeLists.txt b/playground/inputpanel/CMakeLists.txt index b06ceeac..61b885d7 100644 --- a/playground/inputpanel/CMakeLists.txt +++ b/playground/inputpanel/CMakeLists.txt @@ -11,7 +11,4 @@ target_link_libraries(${TARGET_NAME} qskinny qsktestsupport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/invoker/CMakeLists.txt b/playground/invoker/CMakeLists.txt index ef4afc3a..bd16f943 100644 --- a/playground/invoker/CMakeLists.txt +++ b/playground/invoker/CMakeLists.txt @@ -19,6 +19,7 @@ target_link_libraries(${TARGET_NAME} set_target_properties(${TARGET_NAME} PROPERTIES - AUTOMOC ON - AUTOMOC_MOC_OPTIONS -nw - FOLDER playground) \ No newline at end of file + AUTOMOC_MOC_OPTIONS --no-warnings + ) + +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/shadows/CMakeLists.txt b/playground/shadows/CMakeLists.txt index 054bdfbf..900bdd2c 100644 --- a/playground/shadows/CMakeLists.txt +++ b/playground/shadows/CMakeLists.txt @@ -16,7 +16,4 @@ target_link_libraries(${TARGET_NAME} qskinny qsktestsupport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/shapes/CMakeLists.txt b/playground/shapes/CMakeLists.txt index 9bb9b200..669261c0 100644 --- a/playground/shapes/CMakeLists.txt +++ b/playground/shapes/CMakeLists.txt @@ -26,7 +26,4 @@ target_link_libraries(${TARGET_NAME} qskqmlexport qsktestsupport) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/playground/webview/CMakeLists.txt b/playground/webview/CMakeLists.txt index 686c538c..ea3af8e6 100644 --- a/playground/webview/CMakeLists.txt +++ b/playground/webview/CMakeLists.txt @@ -24,7 +24,4 @@ else() Qt::WebEnginePrivate) endif() -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON - FOLDER playground) \ No newline at end of file +include(${CMAKE_SOURCE_DIR}/cmake/QskPlayground.cmake) diff --git a/qmlexport/CMakeLists.txt b/qmlexport/CMakeLists.txt index 82894705..4117d6c2 100644 --- a/qmlexport/CMakeLists.txt +++ b/qmlexport/CMakeLists.txt @@ -15,10 +15,6 @@ list(APPEND TARGET_SOURCES qt_add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS}) -set_target_properties(${TARGET_NAME} - PROPERTIES - AUTOMOC ON) - target_link_libraries(${TARGET_NAME} PRIVATE qskinny) @@ -33,4 +29,4 @@ if(BUILD_QSKDLL) QSK_QML_MAKEDLL) endif() -install(TARGETS ${TARGET_NAME} DESTINATION qmlexport) \ No newline at end of file +install(TARGETS ${TARGET_NAME} DESTINATION qmlexport) diff --git a/skins/material3/CMakeLists.txt b/skins/material3/CMakeLists.txt index 0df4d1f2..8cd868ca 100644 --- a/skins/material3/CMakeLists.txt +++ b/skins/material3/CMakeLists.txt @@ -11,13 +11,16 @@ list(APPEND TARGET_SOURCES QskMaterial3Skin.cpp QskMaterial3SkinFactory.cpp) +list(APPEND TARGET_RESSOURCES + icons.qrc ) + list(APPEND TARGET_OTHER_FILES metadata.json) if(BUILD_QSKDLL) - qt_add_library(${TARGET_NAME} SHARED ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) + qt_add_library(${TARGET_NAME} SHARED ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_RESSOURCES} ${TARGET_OTHER_FILES}) else() - qt_add_library(${TARGET_NAME} STATIC ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_OTHER_FILES}) + qt_add_library(${TARGET_NAME} STATIC ${TARGET_HEADERS} ${TARGET_SOURCES} ${TARGET_RESSOURCES} ${TARGET_OTHER_FILES}) endif() target_link_libraries(${TARGET_NAME} PRIVATE qskinny) @@ -29,7 +32,6 @@ if(BUILD_QSKDLL) endif() set_target_properties(${TARGET_NAME} PROPERTIES - AUTOMOC ON FOLDER skins) install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_PLUGINS}/${QSK_PLUGIN_SUBDIR}) diff --git a/skins/squiek/CMakeLists.txt b/skins/squiek/CMakeLists.txt index 1adabe6c..3782b0d2 100644 --- a/skins/squiek/CMakeLists.txt +++ b/skins/squiek/CMakeLists.txt @@ -31,7 +31,6 @@ if(BUILD_QSKDLL) endif() set_target_properties(${TARGET_NAME} PROPERTIES - AUTOMOC ON FOLDER skins) install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_PLUGINS}/${QSK_PLUGIN_SUBDIR}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 70a4e9dc..5115a5aa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -474,8 +474,6 @@ endif() set_target_properties(${TARGET_NAME} PROPERTIES - AUTOMOC ON - AUTORCC ON FOLDER libs) # TODO hack for standalone qvg2svg diff --git a/support/CMakeLists.txt b/support/CMakeLists.txt index ac672a4e..92a13df4 100644 --- a/support/CMakeLists.txt +++ b/support/CMakeLists.txt @@ -33,9 +33,6 @@ if(ENABLE_FONT_CONFIG) FONTCONFIG_FILE=${QSK_FONTCONF_FILE}) endif() -set_target_properties(${TARGET_NAME} PROPERTIES - AUTOMOC ON) - target_link_libraries(${TARGET_NAME} PUBLIC qskinny) @@ -64,4 +61,4 @@ if(ENABLE_ENSURE_SKINS) material3skin) endif() -install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_LIBS}) \ No newline at end of file +install(TARGETS ${TARGET_NAME} DESTINATION ${QSK_INSTALL_LIBS})