Skip to content

Commit 9112f81

Browse files
committed
Add changes
1 parent c80fbe9 commit 9112f81

File tree

746 files changed

+173636
-32
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

746 files changed

+173636
-32
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# This workflow builds the installer for the project and uploads it as an artifact
2+
name: Build Installer
3+
4+
on:
5+
push:
6+
tags:
7+
- 'v[0-9]+.[0-9]+.[0-9+]'
8+
9+
jobs:
10+
build-installer:
11+
runs-on: windows-latest
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v4
15+
16+
- name: Set up CMake
17+
uses: jwlawson/actions-setup-cmake@v2
18+
with:
19+
cmake-version: '3.31.6'
20+
21+
- name: Set up Ninja
22+
uses: seanmiddleditch/gha-setup-ninja@
23+
24+
- name: Install NSIS
25+
run: choco install nsis -y
26+
27+
- name: Configure CMake
28+
run: cmake -S . -B build -G Ninja
29+
30+
- name: Build
31+
run: cmake --build build --config Release
32+
33+
- name: Sign executable
34+
uses: ossign/ossign@v1
35+
with:
36+
token: ${{ secrets.GITHUB_TOKEN }}
37+
config: ${{ secrets.OSSIGN_CONFIG }}
38+
inputFiles: build/*.exe
39+
fileType: pecoff
40+
41+
- name: Package (CPack)
42+
run: cmake --build build --target package
43+
44+
- name: Upload installer
45+
uses: actions/upload-artifact@v4
46+
with:
47+
name: installer
48+
path: build/*.exe
49+
50+
- name: Archive build output
51+
uses: actions/upload-artifact@v4
52+
with:
53+
name: build-artifacts
54+
path: build/
55+
56+
release:
57+
needs: build
58+
runs-on: windows-latest
59+
steps:
60+
- name: Download build artifacts
61+
uses: actions/download-artifact@v4
62+
with:
63+
name: build-artifacts
64+
path: build/
65+
66+
- name: Create GitHub Release
67+
uses: softprops/action-gh-release@v2
68+
with:
69+
files: build/**
70+
env:
71+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

CMakeLists.txt

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,50 @@ set(SPOTIAMP_SRCS
4242

4343
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "/D_CRT_NONSTDC_NO_WARNINGS")
4444
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} "/O1 /Ob2 /Oi /Os /Oy /GF /Gy /fp:fast /QIfist")
45+
set (BUILD_SHARED_LIBS TRUE) # should force the libraries to be static
4546

4647
STRING(REGEX REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
4748
STRING(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable RTTI
4849

4950
include_directories(tiny_spotify)
51+
include_directories(assets)
5052
add_executable(spotiamp ${SPOTIAMP_SRCS})
5153
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_UNICODE -DUNICODE)
5254

53-
set_property(TARGET spotiamp APPEND PROPERTY LINK_FLAGS "/NXCOMPAT:NO /SAFESEH:NO")
55+
set_property(TARGET spotiamp APPEND PROPERTY LINK_FLAGS "/NXCOMPAT:NO /SAFESEH:NO")
56+
57+
# --- CPack installer configuration ---
58+
set(CPACK_GENERATOR "NSIS")
59+
set(CPACK_MODULE_PATH "${CMAKE_SOURCE_DIR}/cpack")
60+
set(CPACK_PACKAGE_NAME "Spotiamp")
61+
set(CPACK_PACKAGE_VERSION_MAJOR "1")
62+
set(CPACK_PACKAGE_VERSION_MINOR "1")
63+
set(CPACK_PACKAGE_VERSION_PATCH "0")
64+
set(CPACK_PACKAGE_CONTACT "Scheibling Consulting <it@scheibling.se>")
65+
set(CPACK_NSIS_DISPLAY_NAME "Spotiamp (Revival)")
66+
set(CPACK_NSIS_PACKAGE_NAME "Spotiamp (Revival)")
67+
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/icon.ico") # Optional: provide an icon
68+
set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\spotiamp.exe")
69+
set(CPACK_NSIS_HELP_LINK "https://github.com/scheiblingco/spotiamp")
70+
set(CPACK_NSIS_URL_INFO_ABOUT "https://github.com/your/spotiamp")
71+
set(CPACK_NSIS_CONTACT "Scheibling Consulting <it@scheibling.se>")
72+
73+
set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
74+
75+
# Set the install path to Program Files/spotiamp
76+
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Spotiamp")
77+
set(CPACK_NSIS_MODIFY_PATH ON)
78+
79+
install(TARGETS spotiamp DESTINATION bin)
80+
# Optionally install other runtime dependencies or resources here
81+
82+
install(DIRECTORY ${CMAKE_SOURCE_DIR}/assets/plugins DESTINATION .)
83+
install(DIRECTORY ${CMAKE_SOURCE_DIR}/assets/skins DESTINATION .)
84+
install(FILES ${CMAKE_SOURCE_DIR}/README.md DESTINATION .)
85+
86+
# Set uninstfinalize
87+
set(CPACK_NSIS_UNINSTALL_DISPLAY_NAME "Uninstall Spotiamp")
88+
set(CPACK_NSIS_UNINSTALL_NAME "Uninstall Spotiamp")
89+
90+
91+
include(CPack)

CMakeSettings.json

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,5 @@
11
{
22
"configurations": [
3-
{
4-
"name": "Debug",
5-
"generator": "Ninja",
6-
"configurationType": "Debug",
7-
"inheritEnvironments": [ "msvc_x86" ],
8-
"buildRoot": "${projectDir}\\out\\build\\${name}",
9-
"installRoot": "${projectDir}\\out\\install\\${name}",
10-
"cmakeCommandArgs": "",
11-
"buildCommandArgs": "",
12-
"ctestCommandArgs": ""
13-
},
143
{
154
"name": "Release",
165
"generator": "Ninja",

README.md

Lines changed: 10 additions & 3 deletions

assets/msvcr90.dll

638 KB
Binary file not shown.

assets/plugins/AVS/AddBorder.ape

24 KB
Binary file not shown.
Binary file not shown.
4.24 KB
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)