Skip to content

Commit 970f349

Browse files
committed
initial commit
0 parents  commit 970f349

Some content is hidden

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

70 files changed

+10656
-0
lines changed

.github/workflows/build.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Build Geode Mod
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- "**"
8+
9+
jobs:
10+
build:
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
config:
15+
- name: Windows
16+
os: windows-latest
17+
18+
- name: Android32
19+
os: ubuntu-latest
20+
target: Android32
21+
22+
- name: Android64
23+
os: ubuntu-latest
24+
target: Android64
25+
26+
name: ${{ matrix.config.name }}
27+
runs-on: ${{ matrix.config.os }}
28+
29+
steps:
30+
- uses: actions/checkout@v4
31+
32+
- name: Build the mod
33+
uses: geode-sdk/build-geode-mod@main
34+
with:
35+
combine: true
36+
target: ${{ matrix.config.target }}
37+
38+
package:
39+
name: Package builds
40+
runs-on: ubuntu-latest
41+
needs: ['build']
42+
43+
steps:
44+
- uses: geode-sdk/build-geode-mod/combine@main
45+
id: build
46+
47+
- uses: actions/upload-artifact@v4
48+
with:
49+
name: Build Output
50+
path: ${{ steps.build.outputs.build-output }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/build

CMakeLists.txt

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
cmake_minimum_required(VERSION 3.21)
2+
set(CMAKE_CXX_STANDARD 20)
3+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
4+
set(CMAKE_OSX_ARCHITECTURES "x86_64")
5+
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
6+
7+
project(IconKitFilterAndSort VERSION 1.0.0)
8+
9+
add_library(${PROJECT_NAME} SHARED
10+
src/constants/other.cpp
11+
src/constants/authors.cpp
12+
src/constants/categories.cpp
13+
14+
src/hooks/GameManager.cpp
15+
src/hooks/GJGarageLayer.cpp
16+
src/hooks/PurchaseItemPopup.cpp
17+
18+
src/popups/DisplayOptionsPopup.cpp
19+
src/popups/SortPopup.cpp
20+
src/popups/FilterPopup.cpp
21+
src/popups/AuthorFilterPopup.cpp
22+
src/popups/CategoryFilterPopup.cpp
23+
src/popups/FilterAndSortPopup.cpp
24+
25+
src/utils/SortIconButtonSprite.cpp
26+
src/utils/BoundCCMenu.cpp
27+
src/utils/LinkedCCMenu.cpp
28+
src/utils/CCMenuItemTogglerSpoof.cpp
29+
30+
src/iconkit.cpp
31+
src/logic.cpp
32+
src/main.cpp
33+
src/debug.cpp
34+
src/api/api.cpp
35+
)
36+
include_directories(${PROJECT_NAME} PUBLIC include)
37+
38+
39+
if (NOT DEFINED ENV{GEODE_SDK})
40+
message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode")
41+
else()
42+
message(STATUS "Found Geode: $ENV{GEODE_SDK}")
43+
endif()
44+
45+
add_subdirectory($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR}/geode)
46+
47+
if (MSVC)
48+
target_compile_options(
49+
${PROJECT_NAME} PUBLIC
50+
"/Wall"
51+
"/wd4820" # padding inserted
52+
"/wd4710" # function not inlined
53+
#"/wd4265" # non-virtual destructor
54+
"/wd5045" # disable spectre mitigation warning
55+
# implicitly marked as deleted
56+
"/wd4625"
57+
"/wd5026"
58+
"/wd4626"
59+
"/wd5027"
60+
"/wd4464" # relative include path, in geode
61+
)
62+
else()
63+
target_compile_options(${PROJECT_NAME} PUBLIC "-Wall" "-Wextra" "-Wpedantic" "-Wno-dollar-in-identifier-extension")
64+
endif()
65+
66+
set_property(TARGET ${PROJECT_NAME} PROPERTY COMPILE_WARNING_AS_ERROR ON)
67+
68+
# Set up dependencies, resources, link Geode
69+
setup_geode_mod(${PROJECT_NAME})

0 commit comments

Comments
 (0)