Skip to content

Rebase onto dev - #22

Open
i8degrees wants to merge 569 commits into
feature/AudioEnginefrom
dev
Open

i8degrees wants to merge 569 commits into
feature/AudioEnginefrom
dev

Conversation

@i8degrees

Copy link
Copy Markdown
Owner

Review and merge

i8degrees and others added 28 commits April 26, 2026 19:27
No linking stage just yet, but soon.
[mod] cmake/macros.cmake
[new] cmake/functions.cmake
  - nom_install_resources macro are now two functions;
  `install_resource_file` and `install_resource_dir`
  - `nom_add_library` is now a macro

[new] version.cmake
[mod] CMakeLists.txt
  - The call to `project` now includes version variables that are set in
  `version.cmake`. The `VERSION` & `SONAME` versioning now works as expected
  in `nom_add_library` function.
  - Re-enable build of `NOM_BUILD_ACTIONS_UNIT`
  - NOM_INSTALL_GENERATED_DOCS is now an cmake option
  - Check for `ENV{OPENALDIR}` under linux deps
[mod] src/CMakeLists.txt
  - Add guard hooks for building when audio engine is toggled
[mod] tests/CMakeLists.txt
  - Add guard hooks for building when audio engine is toggled
  - Use new `install_resource` functions
[mod] examples/CMakeLists.txt
  - Add `nomlib-audio` to library deps
  - Add guard hooks for OPENAL / audio
  - Use `install_resource` functions
[mod] tests/src/audio/CMakeLists.txt
  - Add guard hooks for compilation when audio engine is enabled
- Exclude auto-generated files (cmake) -- `.in` -- from install phase of
engine header dev files

- Additionally, install cmake config module -- `nomlib-config.cmake` at
`PREFIX`/lib/cmake/nomlib

- `cmake/functions.cmake` **nom_resource_file** - Always exclude dotfiles, i.e.: `.*` from its final installation path
- `cmake/functions.cmake` **nom_resource_dir** - Always exclude dotfiles, i.e.: `.*` from its final installation path
- `common_deps`
- `build_deps linux`
- `build_deps osx`
- Docker templates at `templates/*` serve as our new
dependency and project management system
fix copy_framework_dep func
`cmake/packaging/nomlibConfig.cmake` -> `cmake/templates/nomlibConfig.cmake.in`

`nomlibConfig.cmake` is now a proper template, adding `@PACKAGE_INIT@`
at the top of the file as per the official documentation
(CMake: Imports and Exports). The cmake function
`write_basic_package_version_file` recognizes this variable and expands
it to do something useful, even if the file is relocated elsewhere in
the filesystem.
This example now has the groundwork to support Windows, Darwin && Linux
resources being installed in their proper path and able to make use of
the platform-specific templates, i.e.: .desktop on Linux, app bundle on
Darwin and an app manifest file for WIN32.
The original check of just __WIN32__ was not enough.
Milestone! Now all executables -- both tests & examples -- less & except
the audio engine -- are compiling on Windows again.
Remove WIN32 exe flag && use SDL2main; this corrects the compile warning
regarding the conflict between multiple main entrypoints (SDL2main and
WIN32).
This resolves all but one remaining issue with the examples on
MacOS. The final remaining issue now is dealing with the copying
of the resource data files into its right place.
# Conflicts:
#	CMakePresets.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant