mirror of
https://github.com/gbdev/rgbds.git
synced 2026-03-25 14:23:04 +00:00
Add a CMake preset for maintainer flags
This commit is contained in:
14
.github/workflows/testing.yml
vendored
14
.github/workflows/testing.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
|||||||
- name: Build & install using CMake
|
- name: Build & install using CMake
|
||||||
if: matrix.buildsys == 'cmake'
|
if: matrix.buildsys == 'cmake'
|
||||||
run: |
|
run: |
|
||||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} -DSANITIZERS=ON -DMORE_WARNINGS=ON -DTESTS_OS_NAME=${{ matrix.os }}
|
cmake -S . -B build --preset develop -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} -DTESTS_OS_NAME=${{ matrix.os }}
|
||||||
cmake --build build -j --verbose
|
cmake --build build -j --verbose
|
||||||
sudo cmake --install build --verbose
|
sudo cmake --install build --verbose
|
||||||
- name: Package binaries
|
- name: Package binaries
|
||||||
@@ -159,8 +159,8 @@ jobs:
|
|||||||
if: steps.cache.outputs.cache-hit != 'true'
|
if: steps.cache.outputs.cache-hit != 'true'
|
||||||
shell: bash
|
shell: bash
|
||||||
run: | # BUILD_SHARED_LIBS causes the output DLL to be called `z.dll` as of zlib 1.3.2 (formerly `zlib1.dll`)
|
run: | # BUILD_SHARED_LIBS causes the output DLL to be called `z.dll` as of zlib 1.3.2 (formerly `zlib1.dll`)
|
||||||
cmake -S zlib -B zbuild -A ${{ matrix.platform }} -Wno-dev -DCMAKE_INSTALL_PREFIX=install_dir -DBUILD_SHARED_LIBS=ON
|
cmake -S zlib -B zbuild -A ${{ matrix.platform }} -Wno-dev -DCMAKE_INSTALL_PREFIX=install_dir -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=ON
|
||||||
cmake --build zbuild --config Release -j
|
cmake --build zbuild --config Debug -j
|
||||||
- name: Install zlib
|
- name: Install zlib
|
||||||
run: |
|
run: |
|
||||||
cmake --install zbuild
|
cmake --install zbuild
|
||||||
@@ -168,16 +168,16 @@ jobs:
|
|||||||
if: steps.cache.outputs.cache-hit != 'true'
|
if: steps.cache.outputs.cache-hit != 'true'
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cmake -S libpng -B pngbuild -A ${{ matrix.platform }} -Wno-dev -DCMAKE_INSTALL_PREFIX=install_dir -DPNG_SHARED=ON -DPNG_STATIC=OFF -DPNG_TESTS=OFF
|
cmake -S libpng -B pngbuild -A ${{ matrix.platform }} -Wno-dev -DCMAKE_INSTALL_PREFIX=install_dir -DCMAKE_BUILD_TYPE=Debug -DPNG_SHARED=ON -DPNG_STATIC=OFF -DPNG_TESTS=OFF
|
||||||
cmake --build pngbuild --config Release -j
|
cmake --build pngbuild --config Debug -j
|
||||||
- name: Install libpng
|
- name: Install libpng
|
||||||
run: |
|
run: |
|
||||||
cmake --install pngbuild
|
cmake --install pngbuild
|
||||||
- name: Build Windows binaries
|
- name: Build Windows binaries
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cmake -S . -B build -A ${{ matrix.platform }} -DCMAKE_INSTALL_PREFIX=install_dir -DCMAKE_BUILD_TYPE=Release
|
cmake -S . -B build -A ${{ matrix.platform }} --preset develop -DCMAKE_INSTALL_PREFIX=install_dir
|
||||||
cmake --build build --config Release -j --verbose
|
cmake --build build --config Debug -j --verbose
|
||||||
cmake --install build --verbose --prefix install_dir
|
cmake --install build --verbose --prefix install_dir
|
||||||
- name: Package binaries
|
- name: Package binaries
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ rgbds/
|
|||||||
├── .clang-format
|
├── .clang-format
|
||||||
├── .clang-tidy
|
├── .clang-tidy
|
||||||
├── CMakeLists.txt
|
├── CMakeLists.txt
|
||||||
|
├── CMakePresets.json
|
||||||
├── compile_flags.txt
|
├── compile_flags.txt
|
||||||
├── Dockerfile
|
├── Dockerfile
|
||||||
└── Makefile
|
└── Makefile
|
||||||
@@ -107,6 +108,8 @@ rgbds/
|
|||||||
Configuration for C++ static analysis with [`clang-tidy`](https://clang.llvm.org/extra/clang-tidy/) (for which we define the shortcut `make tidy`).
|
Configuration for C++ static analysis with [`clang-tidy`](https://clang.llvm.org/extra/clang-tidy/) (for which we define the shortcut `make tidy`).
|
||||||
- **`CMakeLists.txt`:**
|
- **`CMakeLists.txt`:**
|
||||||
Defines how to build RGBDS with CMake.
|
Defines how to build RGBDS with CMake.
|
||||||
|
- **`CMakePresets.json`:**
|
||||||
|
Defines some [presets](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html) useful for working with our CMake.
|
||||||
- **`compile_flags.txt`:**
|
- **`compile_flags.txt`:**
|
||||||
Compiler flags for `clang-tidy`.
|
Compiler flags for `clang-tidy`.
|
||||||
- **`Dockerfile`:**
|
- **`Dockerfile`:**
|
||||||
|
|||||||
17
CMakePresets.json
Normal file
17
CMakePresets.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"configurePresets": [
|
||||||
|
{
|
||||||
|
"name": "develop",
|
||||||
|
"description": "Debugging config for maintainers",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Debug",
|
||||||
|
"CMAKE_EXPORT_COMPILE_COMMANDS": true,
|
||||||
|
"MORE_WARNINGS": true,
|
||||||
|
"SANITIZERS": true
|
||||||
|
},
|
||||||
|
"warnings": { "uninitialized": true },
|
||||||
|
"errors": { "dev": true }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -61,7 +61,7 @@ years). If you are adding new files, you need to use the
|
|||||||
4. Compile your changes with `make develop` instead of just `make`. This
|
4. Compile your changes with `make develop` instead of just `make`. This
|
||||||
target checks for additional warnings. Your patches shouldn't introduce any
|
target checks for additional warnings. Your patches shouldn't introduce any
|
||||||
new warning (but it may be possible to remove some warning checks if it makes
|
new warning (but it may be possible to remove some warning checks if it makes
|
||||||
the code much easier).
|
the code much easier). You can also use `cmake --preset develop` if you prefer.
|
||||||
5. Test your changes by running `./run-tests.sh` in the `test` directory.
|
5. Test your changes by running `./run-tests.sh` in the `test` directory.
|
||||||
(You must run `./fetch-test-deps.sh` first; if you forget to, the test suite
|
(You must run `./fetch-test-deps.sh` first; if you forget to, the test suite
|
||||||
will fail and remind you mid-way.)
|
will fail and remind you mid-way.)
|
||||||
|
|||||||
Reference in New Issue
Block a user