diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c9e33d18..327459f4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -529,6 +529,7 @@ jobs: dist/projectMM-*.tar.gz dist/projectMM-*.zip dist/projectMM-*.dmg + dist/projectMM-*-setup.exe dist/projectmm_*.deb # Deploy the web installer to GitHub Pages. Separate from `release` because diff --git a/CMakeLists.txt b/CMakeLists.txt index ab8f51a4..492a4b38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -207,8 +207,37 @@ add_custom_target(ui_embed DEPENDS ${CMAKE_SOURCE_DIR}/src/ui/ui_embedded.h) # running); wiring the dep here makes the ordering explicit on every consumer. add_dependencies(mm_core ui_embed build_info_gen) +# Windows: give the exe its own icon, so it is recognizable in Explorer, the taskbar and the Start +# menu whether it was installed or just unzipped. Generated from the same web-installer/favicon.png +# the macOS .icns comes from, so the mark has one source rather than a checked-in binary per +# platform. Nothing here runs on macOS or Linux, which carry their icon in the .app and the .deb. +set(MM_WIN_RESOURCES "") +if(WIN32) + set(MM_ICON "${CMAKE_BINARY_DIR}/projectMM.ico") + set(MM_RC "${CMAKE_BINARY_DIR}/projectMM.rc") + add_custom_command( + OUTPUT "${MM_ICON}" + # `uv run