Skip to content

Commit

Permalink
make core_minimal build test to make sure defined out features still …
Browse files Browse the repository at this point in the history
…build
  • Loading branch information
bbbradsmith committed Apr 26, 2024
1 parent ea38e26 commit 0073b83
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 4 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/build_nsfplay3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,16 @@ concurrency:
cancel-in-progress: true

jobs:
check-gen:
name: Check Generated Files
code-tests:
name: Code Tests
runs-on: ubuntu-latest
steps:
- name: Checkout Files
uses: actions/checkout@v4
- name: Verify Enums
- name: Verify Generated Enums
run: make enums_verify
- name: Build Minimal Core
run: make core_minimal

build-msvc:
name: Windows MSVC
Expand Down
7 changes: 7 additions & 0 deletions core/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@ OBJS = $(addprefix $(CORE_INTDIR)/,$(SRCS:.cpp=.o))
DEPS = $(addprefix $(CORE_INTDIR)/,$(SRCS:.cpp=.d))
CXXFLAGS_ALL = $(CXXFLAGS) $(CXXFLAGS_EXTRA) $(INC_COMMON)

# minimal build test to make sure the core still compiles with as much defined out as possible

MINIMAL ?= 0
ifeq ($(MINIMAL),1)
CXXFLAGS_ALL += -DNSF_NOTEXT
endif

# precompiled header

PCH_H = core.h
Expand Down
5 changes: 4 additions & 1 deletion makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
include makefile.common

.PHONY: default core cmd gui nsfplay mac winamp icons enums enums_verify wxlib install uninstall clean
.PHONY: default core core_minimal cmd gui nsfplay mac winamp icons enums enums_verify wxlib install uninstall clean

default: core cmd nsfplay

core:
$(MAKE) -C core

core_minimal:
$(MAKE) -C core MINIMAL=1

cmd: core
$(MAKE) -C cmd

Expand Down
1 change: 1 addition & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ On Windows (including MSYS2), you don't need to keep the cmake generated directo
* `make` - builds `cmd`, `gui`
* `make clean` - deletes `intermediate/` and `output/` directories.
* `make core` - build core library `nsfcore` to `output/make/`.
* `make core_minimal` - build core with all optional features defined out.
* `make cmd` - build `nsfplac` to `output/make/`.
* `make gui` - build gui library `nsfgui` to `output/make/`.
* `make nsfplay` - build `nsfplay` to `output/make/`.
Expand Down

0 comments on commit 0073b83

Please sign in to comment.