From 675082ab83940a7a4e242cb96b46c70904f0b5ea Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Fri, 14 Mar 2025 13:34:45 -0400 Subject: [PATCH] Clean up cmake. --- CMakeLists.txt | 2 + README.md | 9 ++- resources/{ => icons}/icon.png | Bin resources/icons/linux/kilroy-128.png | Bin 0 -> 7445 bytes resources/icons/linux/kilroy-16.png | Bin 0 -> 398 bytes resources/icons/linux/kilroy-256.png | Bin 0 -> 21561 bytes resources/icons/linux/kilroy-32.png | Bin 0 -> 755 bytes resources/icons/linux/kilroy-48.png | Bin 0 -> 1135 bytes resources/icons/linux/kilroy-64.png | Bin 0 -> 1625 bytes resources/icons/linux/linux-icons.sh | 11 +++ resources/icons/osx/README.md | 13 ---- resources/icons/osx/kilroy_splash.png | Bin 0 -> 67778 bytes resources/icons/osx/osx-icons.sh | 15 ++++ resources/icons/win/kilroy.ico | Bin 0 -> 3305 bytes resources/icons/win/kilroy_splash.bmp | Bin 0 -> 206122 bytes resources/icons/win/win-icons.sh | 10 +++ resources/qtk.desktop | 6 ++ resources/resources.qrc | 2 +- src/CMakeLists.txt | 95 ++++++++++++++++++-------- src/app/CMakeLists.txt | 13 ++-- src/app/qtkmainwindow.ui | 2 +- tools/format.sh | 16 +++-- 22 files changed, 140 insertions(+), 54 deletions(-) rename resources/{ => icons}/icon.png (100%) create mode 100644 resources/icons/linux/kilroy-128.png create mode 100644 resources/icons/linux/kilroy-16.png create mode 100644 resources/icons/linux/kilroy-256.png create mode 100644 resources/icons/linux/kilroy-32.png create mode 100644 resources/icons/linux/kilroy-48.png create mode 100644 resources/icons/linux/kilroy-64.png create mode 100755 resources/icons/linux/linux-icons.sh delete mode 100644 resources/icons/osx/README.md create mode 100644 resources/icons/osx/kilroy_splash.png create mode 100755 resources/icons/osx/osx-icons.sh create mode 100644 resources/icons/win/kilroy.ico create mode 100644 resources/icons/win/kilroy_splash.bmp create mode 100755 resources/icons/win/win-icons.sh create mode 100644 resources/qtk.desktop diff --git a/CMakeLists.txt b/CMakeLists.txt index 08aa479..1593cef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -83,6 +83,8 @@ endif () set(QTK_RESOURCES "${CMAKE_SOURCE_DIR}/resources") set(QTK_OSX_ICONS ${CMAKE_SOURCE_DIR}/resources/icons/osx/kilroy.icns) +string(TIMESTAMP YEAR "%Y") +set(QTK_COPYRIGHT "All Content © 2021-${YEAR} Shaun Reed, all rights reserved.") # Point CMAKE_PREFIX_PATH to Qt6 install directory # If Qtk is built within Qt Creator this is not required. diff --git a/README.md b/README.md index c7c092b..f76b4cb 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Key features that are planned: - [ ] Runtime reloading of modified GLSL shaders attached to objects within scenes. - [ ] Multiple views of a scene at one time. - [ ] Camera control modes such as panning, orbiting, or following objects. -- [ ] Save / load for scene data. The current inheritance model is temporary. +- [ ] Save / load scene data. The current model requires writing C++ code. - [ ] Basic text editor for quickly modifying shaders attached to objects. - [ ] Reduce size of application resources and git references. @@ -226,6 +226,11 @@ Ubuntu clang-format version 18.1.3 (1ubuntu1) CLion has integration for IDE code reformatting actions with `clang-format`. If you're using CLion, the `.clang-format` configuration will be picked up by CLion automatically. +This repository provides the [`tools/format.sh`](./tools/format.sh) helper script to run `clang-tidy` and `clang-format` on Ubuntu 24.04. +Running the script will build Qtk, so it's important to ensure you can manually build from source first. + +If you'd still like to run these tools manually, see the instructions below. + `clang-tidy` can be run with the following commands. ```bash @@ -303,7 +308,7 @@ To generate packages for Qtk desktop application, we should set `-DQTK_GUI=ON`. If this option is not set we will only package libqtk. The NSIS installer will allow component-specific path modification for all of -these installation components through a GUI install application. +these installation components through a Windows GUI install application. ##### Resources diff --git a/resources/icon.png b/resources/icons/icon.png similarity index 100% rename from resources/icon.png rename to resources/icons/icon.png diff --git a/resources/icons/linux/kilroy-128.png b/resources/icons/linux/kilroy-128.png new file mode 100644 index 0000000000000000000000000000000000000000..6b62d553f0cd76031b4bd3eab8bc23100770ac6d GIT binary patch literal 7445 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 g#Va$L|8HQ9n88=J3Bkuc{{u3 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 literal 0 HcmV?d00001 diff --git a/resources/icons/linux/kilroy-32.png b/resources/icons/linux/kilroy-32.png new file mode 100644 index 0000000000000000000000000000000000000000..429aaef46fc54f6f074dd4772cd61f7e35a53604 GIT binary patch literal 755 zcmV004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw0002Asr$h93LPZAs`(fARHYbATu5yF&-Z)A0I3q9UmYeHyt509vvefB}^M8 zP#Pvq8zxa2B~2S0Bp@L)9v&zkA1WUnCm$UiARZ|nA1NOmB_JX?9U?m&B0L==MjItb z8ze>?Avql*K^!4A9V0*-Bt#q~NE;?j8Y4X&ATS;xI2|H69Uv|q93UVdG#(^L8ze;= zA1)pvLL43{A0RazCQ}+HS{Wx-87N&CCsZ0HPZ}UH9wI*+8yq1V93dk_94TKICsr9K zTNxZ7AR|K@B0d};IvpJ*9~&JX|Ns9JfnwkQ0004EOGiXd<8Dm600009a7bBm000id z000id0mpBsWB>pF2XskIMF;5v3jq%r76y{J00046Nkl^w-wF%pt=(^cxW|TPe zTCJnDMmp{8aj#D|O3;&@b$aGBwUX00_uK0db-6?C;_|B2K*(*Ftzv~H&p??47?A)k zs|Ez)fU`VeZs-@n>l+B^MCMoY lFZh!n{004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00045P)t-s93CJX9w8kdAR;^+ zB03!&Cm$?t7c6ZT9wi_gA0Z()9U(Uz933GXA0QneAR##&Btsk{KOG(^A0|>7CQ}+A zHXbHW8Yfd4CQlkCR2m>J9vmDYA1og!UKlB07${sBC|emSVi+JZ9vvSb9U>qc8zCPn zA08wiATS;xJslk$AR|E>9ws0mG#(~T8z3?sATb^xH69--A0$T`B}*G6N*gF$87W^F zB0d}bd9xERxSs5o;87N*DA2A*q93dYr9wt;8 zAT=HxB_JhE8XYDd8yp@R9UlMx|LpV0bN~PV0b)x>L~=F`4OjpG010qNS#tmY4#NNd z4#NS*Z>VGd000McNliru=>rP^4;haS!vg>S0&q!0K~zY`?N)1B5cF=ZzKuo_+X<>z(^x2``2`Q=sthxT z3Wp|;-JoD~1Z=H9@UQ_EmjGjres|gHTfXOCfmuB^7MBc7TMY!|P*4uvk3`Mc0Wp_L zdaxR2!+e;SJR+GCl2J+}K-2iuqpp&PtY(WGuAGmqY+Tin;}f_vqh=HVPz(K<5>Y3J zSh}?K*z~4RIwB#YW}Zmv{&+S4Q;LRMHnx#n3p{lIWb&cSg5Qw0ZYr8eEhxvfpQZfz zjscG6yE#2)WL^}pjgq}f*<5V5RDSuYf>F8ZTX(;P?Kd#3=#{U$t1}O&RqQ6 zd$_S^+7_g$Hpb*WAv{?&`QHGjjk-{q6&mFn-iubcNpb;-J=$ZIj((JIMPEWdiZoRx7TiKXJ@KjAQs4k)k4X1_u3ziPlKNV z`Km9{DSk$+FOl=C|KzJb6#n+T+h{Z!KhT!@r(qcVP_rLt)+6ctU*Ui^6!7Yvi<*;B zDjyUEDS41eaIVnnWU5tH`!}V8L3Q{3xO$a~QpH*ZW<#ih^trp+Z&b$JvlV>}4rx4^ zV~#ogKiInijb0#Z@F&aY=^`FEOhuQI_004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw0005bP)t-s93CJX9w8hbAsind z9U&kcARrwiASFv1Bt{$}I~_2D6flAmAvql%Djz9b86GGf933GfMI0kQ92^`WCQuqB zNgE$5A0j#(A1)ssD<2>)9w0FuCQlnBNE;(T94ciPBu5-0J{=-F9V%oPB~2S0A0Q+| z94l%UD`^)cOdBFT93({>Bt{z^B_JLqA08wi9w#3nIUOAyARj3oA1xmpA|ND38yp=V zATS;vE*>RH8!BcP9U~wsXcs3|8Yfs8A1@vrDIX_P8Yo&BATu5zH6AT-7AI92DO?#S zSQ#l^7${j8CsP_JU>GG%8!KxUBSIV_J{&7&7#}VkE_f9oHXST*7Aj&GEprwtY!@zi z6)0U9CQchCQW_>w8YD;?Dq|QcW)~qe9w0IvAvYZ+P8uC0AR<2;AT%B*TNxcDA0|^8 z9x5LwTp2257bjL3C|wvOP8uw47AtKQDPtHXRT(K?7%g%Z9xER#Z5ARv9ULGaAvzr? zUKuD{7$r>_BSRb?FdidB94clPCQ%wJaTX_687gEKC|(#WZWbzM7b|TSD{mGfMH?F& zAuDbcDrpxeUl<`c9V=`WAvPWzB_AR^9UUGa8XO+~|Np|rW}5&200Cl4M?{$c);6dB z000SaNLh0L01m?d01m?e$8V@)00007bV*G`2k8R~0S_6E55ofh00ZSoL_t(o!|hl7 zdlN+vp3Pp;swtiJ(hDg{AZeR6YKWo7X-T1Js|XQ#SQ4p~rkapKS_~AWXsQ&UiXfRcd6*}6H#_gnyYsQPNdN$d`4LagjR-S%VM5%nDPTWrlS^}1nqcs8 zp+1)o$xnRS2sm1+1Ufnc1a={>y!u-383Z^@d0?}w50Ae z@q*eR*g6qI!Rvy3E|^0sVV{u5un5x0kQs<12?}Z@?SZZA1x(C*jhsvsdwP+LC_!WccH@@~i@FHa zAn@#BPE6!bpUfd89NrrVhx@z2;eC`iNqAzHRBPr&inS9Js9eP*ld2fep96PFJ$2(=^*zpO@n46rMmf!y%0w+Gi?R-T9Cqpt$ zPU5NjM^QhE>A9TJBX;C8y!DeD5`Ay$&vo^k-164{!e4r zT7y;s|NLh%UdTgVBC)`%sLze(X=yQovBV+R34uJaD5;;9Wd9chl`zy_u4J)L%#jPH za7P5tbuoSTVve;9MH_h+vK?iqqueI#wxvXHdTt4~ZQBIqE4wFYo`>L(wYH9knsNFl z3j->@?~9<*?Gb)EM2AC6R%D2 zm03+>d1!TcRT-I&Wjp4VsKy+bE6wS_+V!!ozD^9>IK6f={7v`Lx7loRDFAU@HkK%_ zRvYVjcO$6hzB|)c{XWrCymftJZFYKN0&c?(jobB7WbNj)JH^@3%=xlDys{9grtaQN z)0uUnAVk?rt7G-Ojna=3`Fd^hr+lDz-+*o7Ut5?H=>HNP@2 z@$ zFP{&20aADYWY=AI*~b4s{-0gg+S+2@aK^<|{u`NWWw>ViGZ#h^Hve)9n+e0;yOe(b XAgag+NuNQR00000NkvXXu0mjfc+YB4 literal 0 HcmV?d00001 diff --git a/resources/icons/linux/linux-icons.sh b/resources/icons/linux/linux-icons.sh new file mode 100755 index 0000000..c7103ca --- /dev/null +++ b/resources/icons/linux/linux-icons.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# $1: Input path to an image to use for generating icons. +# Helper script to generate qtk's icons for Linux given a path to an input PNG. +sudo apt install imagemagick + +convert "$1" -resize 256x256 kilroy-256.png +convert "$1" -resize 128x128 kilroy-128.png +convert "$1" -resize 64x64 kilroy-64.png +convert "$1" -resize 48x48 kilroy-48.png +convert "$1" -resize 32x32 kilroy-32.png +convert "$1" -resize 16x16 kilroy-16.png diff --git a/resources/icons/osx/README.md b/resources/icons/osx/README.md deleted file mode 100644 index 7309721..0000000 --- a/resources/icons/osx/README.md +++ /dev/null @@ -1,13 +0,0 @@ - -```bash -sudo apt install icnsutils -``` - -```bash -convert icon.png -resize 32x32 kilroy_32.png -convert icon.png -resize 16x16 kilroy_16.png -convert icon.png -resize 48x48 kilroy_48.png -convert icon.png -resize 128x128 kilroy_128.png -convert icon.png -resize 256x256 kilroy_256.png -png2icns png2icns kilroy.icns kilroy_*.png -``` diff --git a/resources/icons/osx/kilroy_splash.png b/resources/icons/osx/kilroy_splash.png new file mode 100644 index 0000000000000000000000000000000000000000..3426589724e39271db50318776360d39d3733436 GIT binary patch literal 67778 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 F{C{jgbt(V= literal 0 HcmV?d00001 diff --git a/resources/icons/osx/osx-icons.sh b/resources/icons/osx/osx-icons.sh new file mode 100755 index 0000000..47302b8 --- /dev/null +++ b/resources/icons/osx/osx-icons.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# $1: Input path to an image to use for generating icons. +# Helper script to generate qtk's icons for OSX given a path to an input PNG. +sudo apt install icnsutils imagemagick + +convert "$1" -resize 32x32 kilroy_32.png +convert "$1" -resize 16x16 kilroy_16.png +convert "$1" -resize 48x48 kilroy_48.png +convert "$1" -resize 128x128 kilroy_128.png +convert "$1" -resize 256x256 kilroy_256.png +# For the application bundle in OSX. +png2icns png2icns kilroy.icns kilroy_*.png + +# For the splash image in DMG installers. +convert "$1" -resize 800x600! kilroy_splash.png diff --git a/resources/icons/win/kilroy.ico b/resources/icons/win/kilroy.ico new file mode 100644 index 0000000000000000000000000000000000000000..59ca79be954d59c2f3cbc1b741cfc7f50fc16756 GIT binary patch literal 3305 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 literal 0 HcmV?d00001 diff --git a/resources/icons/win/kilroy_splash.bmp b/resources/icons/win/kilroy_splash.bmp new file mode 100644 index 0000000000000000000000000000000000000000..8628742926939785e7ef8fc978a1597b9d75f2c2 GIT binary patch literal 206122 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

-%~MXU zAK@bTDn$7nfontawesome-free-6.2.1-desktop/svgs/regular/folder-open.svg fontawesome-free-6.2.1-desktop/svgs/regular/floppy-disk.svg fontawesome-free-6.2.1-desktop/svgs/brands/git-alt.svg - icon.png + icons/icon.png shaders/fragment/model.frag diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 29e4e48..9fdf395 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -103,18 +103,82 @@ configure_package_config_file( ) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE") +set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") set(CPACK_PACKAGE_VENDOR "Shaun Reed") -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Qt OpenGL 3D graphics library.") -set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/shaunrd0/qtk") +if (QTK_GUI) + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Qt OpenGL 3D graphics renderer.") +else() + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Qt OpenGL 3D graphics library.") +endif() +set(CPACK_PACKAGE_HOMEPAGE_URL "https://git.shaunreed.com/shaunrd0/qtk") set(CPACK_SOURCE_IGNORE_FILES build*;install;\.git;\.github;\.idea) set(CPACK_PACKAGE_DIRECTORY packages/) set(CPACK_PACKAGE_CONTACT "shaunreed.com") -#set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/resources/icon.png") set(CPACK_THREADS 0) set(CPACK_PACKAGE_INSTALL_DIRECTORY "Qtk") +if (WIN32) + # Windows + # Set icon for the splash image used in Windows NSIS installers. + set(CPACK_PACKAGE_ICON "${QTK_RESOURCES}/icons/win/kilroy_splash.bmp") + set(CPACK_NSIS_MODIFY_PATH ON) + set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) + # https://nsis.sourceforge.io/Reference/CreateShortCut + set( + CPACK_NSIS_CREATE_ICONS_EXTRA + "CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Qtk.lnk' '$INSTDIR\\\\bin\\\\qtk_gui.exe'" + ) + set( + CPACK_NSIS_DELETE_ICONS_EXTRA + "Delete '$SMPROGRAMS\\\\$START_MENU\\\\Qtk.lnk'" + ) + + # Set icon for the installer executable. + set(CPACK_NSIS_MUI_ICON "${QTK_RESOURCES}/icons/win/kilroy.ico") + # Set icon for uninstaller executable. + set(CPACK_NSIS_MUI_UNIICON "${QTK_RESOURCES}/icons/win/kilroy.ico") +elseif(APPLE) + # OSX + # Set icon for the splash image used in OSX DMG installers. + set(CPACK_PACKAGE_ICON "${QTK_RESOURCES}/icons/osx/kilroy_splash.bmp") + + # Set additional options for the OSX bundle. + set(CPACK_BUNDLE_NAME ${PROJECT_NAME}) + set(CPACK_BUNDLE_PLIST $/Info.plist) + set(CPACK_BUNDLE_ICON ${QTK_OSX_ICONS}) +else(UNIX) + # Linux + # Install icons for qtk. + install(FILES ${QTK_RESOURCES}/icons/linux/kilroy-16.png + DESTINATION /usr/share/icons/hicolor/16x16/apps + RENAME qtk.png) + install(FILES ${QTK_RESOURCES}/icons/linux/kilroy-32.png + DESTINATION /usr/share/icons/hicolor/32x32/apps + RENAME qtk.png) + install(FILES ${QTK_RESOURCES}/icons/linux/kilroy-48.png + DESTINATION /usr/share/icons/hicolor/48x48/apps + RENAME qtk.png) + install(FILES ${QTK_RESOURCES}/icons/linux/kilroy-64.png + DESTINATION /usr/share/icons/hicolor/64x64/apps + RENAME qtk.png) + install(FILES ${QTK_RESOURCES}/icons/linux/kilroy-128.png + DESTINATION /usr/share/icons/hicolor/128x128/apps + RENAME qtk.png) + install(FILES ${QTK_RESOURCES}/icons/linux/kilroy-256.png + DESTINATION /usr/share/icons/hicolor/256x256/apps + RENAME qtk.png) + + # Install the desktop file for qtk. + install(FILES ${QTK_RESOURCES}/qtk.desktop + DESTINATION /usr/share/applications) + + # Set additional options for the debian APT package. + set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${CPACK_PACKAGE_HOMEPAGE_URL}) + set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) +endif() + # Remove any assimp components if defined by submodule. if (QTK_SUBMODULES) get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS) @@ -122,31 +186,6 @@ if (QTK_SUBMODULES) list(REMOVE_ITEM CPACK_COMPONENTS_ALL Unspecified) endif() -# Windows -set(CPACK_NSIS_MODIFY_PATH ON) -set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) -# https://nsis.sourceforge.io/Reference/CreateShortCut -set( - CPACK_NSIS_CREATE_ICONS_EXTRA - "CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Qtk.lnk' '$INSTDIR\\\\bin\\\\qtk_gui.exe'" -) -set( - CPACK_NSIS_DELETE_ICONS_EXTRA - "Delete '$SMPROGRAMS\\\\$START_MENU\\\\Qtk.lnk'" -) -# TODO: Icons for NSIS installer. -#set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/resources/icon.png") -#set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/resources/icon.png") - -# Debian -set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${CPACK_PACKAGE_HOMEPAGE_URL}) -set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) - -# OSX -set(CPACK_BUNDLE_NAME ${PROJECT_NAME}) -set(CPACK_BUNDLE_PLIST $/Info.plist) -set(CPACK_BUNDLE_ICON ${QTK_OSX_ICONS}) - # Platform defaults for source bundles. if(WIN32) set(CPACK_SOURCE_GENERATOR ZIP) diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index 5f85378..5709c56 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -57,15 +57,18 @@ set( qt_add_executable(qtk_gui ${QTK_GUI_SOURCES}) target_link_libraries(qtk_gui PRIVATE qtk_plugin_library) -set_target_properties( - qtk_gui PROPERTIES - WIN32_EXECUTABLE TRUE +if (WIN32) + set_target_properties(qtk_gui PROPERTIES WIN32_EXECUTABLE TRUE) +elseif(APPLE) + set_target_properties( + qtk_gui PROPERTIES MACOSX_BUNDLE TRUE MACOSX_BUNDLE_BUNDLE_NAME Qtk MACOSX_BUNDLE_ICON_FILE ${QTK_OSX_ICONS} MACOSX_BUNDLE_GUI_IDENTIFIER ${CMAKE_PROJECT_NAME} MACOSX_BUNDLE_INFO_STRING ${CMAKE_PROJECT_DESCRIPTION} - MACOSX_BUNDLE_COPYRIGHT "All Content (c) 2023 Shaun Reed, all rights reserved" + MACOSX_BUNDLE_COPYRIGHT ${QTK_COPYRIGHT} MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} -) + ) +endif() \ No newline at end of file diff --git a/src/app/qtkmainwindow.ui b/src/app/qtkmainwindow.ui index 324a7d9..494ce37 100644 --- a/src/app/qtkmainwindow.ui +++ b/src/app/qtkmainwindow.ui @@ -21,7 +21,7 @@ - ../resources/icon.png../resources/icon.png + ../resources/icons/icon.png../resources/icons/icon.png true diff --git a/tools/format.sh b/tools/format.sh index 3ec7a2f..a7c2f35 100755 --- a/tools/format.sh +++ b/tools/format.sh @@ -1,7 +1,15 @@ #!/usr/bin/env bash +# Helper script to run clang-tidy and clang-format. +# This should be executed from the root of the repository: +# +# git clone https://git.shaunreed.com/shaunrd0/qtk +# cd qtk +# ./tools/format.sh +# Configure and build qtk cmake -B build && cmake --build build -- -j $(nproc --ignore=1) -clang-tidy -p build/ --fix --config-file=.clang-tidy \ - src/**/*.cpp src/**/*.h example-app/*.cpp example-app/*.h -clang-format -i --style=file:.clang-format \ - src/**/*.cpp src/**/*.h example-app/*.cpp example-app/*.h + +# Run clang-tidy and clang-format +SOURCES="src/**/*.cpp src/**/*.h example-app/*.cpp example-app/*.h" +clang-tidy -p build/ --fix --config-file=.clang-tidy $SOURCES +clang-format -i --style=file:.clang-format $SOURCES