Commit Graph

10 Commits

Author SHA1 Message Date
Graham Pentheny
ea814a1a1c Workflows: Only build with VS2022 on windows with cmake
Due to a bug in vs2019:
https://github.com/catchorg/Catch2/issues/2174https://github.com/catchorg/Catch2/issues/2174
2025-03-30 16:11:11 -04:00
Graham Pentheny
c126555c10 Explicitly specify Ubuntu 24.04 rather than ubuntu-latest (#749)
Since ubuntu-latest is using 22.04, and the version of doxygen it uses is generating some incorrect headers.
2024-12-31 00:29:23 -05:00
Graham Pentheny
03c1101b18 Use newer clang and ubuntu version when building linux tests project (#748)
Since we need to build with clang 18 and ubuntu-latest is still set to 22.04 which uses clang 14.
2024-12-30 23:20:12 -05:00
Graham Pentheny
93bd042349 Disable calls to isfinite when compiling with -ffast-math (#747)
Fast math is not required, but it speeds up some calculations at the expense of accuracy. There are some functions like dtMathIsfinite that use floating point functions that become undefined behavior when compiled with fast-math, so we need to conditionally short-circuit these functions when compiled with that flag.

-Wnan-infinity-disabled is complaining about the isfinite call in dtMathIsfinite.

This also sets the linux runner explicitly to Ubuntu 24.04, since ubuntu-latest defaults to 22.04 for some reason. This also updates gcc and clang to the latest versions in apt and logs their version to the run output.  We need at least clang18 to disable the -Wnan-infinity-disabled warning for Catch.

Finally, this also removes some unused code that was throwing a warning (and thus an error) on newer compiler versions.
2024-12-29 12:36:08 -05:00
Graham Pentheny
ac4376d597 Install libglu1-mesa-dev as a linux build dependency in Github Actions
Because something changed and now we're getting errors about not being able to find glu.h
2024-12-28 01:09:03 -05:00
Graham Pentheny
78dd2f706f Enable verbose catch2 output when running tests in CI 2023-07-23 16:49:03 -04:00
Graham Pentheny
d18a4a6bbd Gh pages deploy workflow (#608)
Build and deploys doxygen docs to a gh-pages branch so they can be hosted in GitHub pages.
2023-03-18 17:27:33 -04:00
Graham Pentheny
d0b2ed8ff5 Run apt-get update before trying to install libgli and libsdl2 on linux build machines
Fixes this issue https://github.com/actions/runner-images/issues/5562
2022-11-27 20:00:12 -05:00
Graham Pentheny
67ba9a2a15 Fix macOS CMake SDL linking (#584)
* Ignore cmake intermediate build dir

* Fix C++ language version in cmake build scripts

* Set a default SDL2_ROOT_DIR value for macOS in cmake scripts

* Fixed macOS SDL framework linking in cmake scripts

* Added macos-cmake target for CI builds in github workflows

* Use C++17 for building Tests instead of 20, since we build them with VS2019 in some jobs
2022-11-25 20:29:11 -05:00
Graham Pentheny
3d0f0a3d9e Github Workflows based CI system to replace Appveyor and Travis (#580)
The goal here is to replace the current (slightly broken) Travis + Appveyor setup with something that covers more cases and is a bit better supported and easier to maintain. This hopefully helps us catch cross-platform issues quicker. For example, the linux and clang compilation issues that have existed for a while could have been caught if we were building those targets in CI.

This adds a build script that builds the following configurations for every repo commit and PR:

    macOS, premake, Debug
    macOS, premake, Release
    linux, premake, gcc, Debug
    linux, premake, gcc, Release
    linux, premake, clang, Debug
    linux, premake, clang, Release
    linux, cmake, Debug
    linux, cmake, Release
    windows, premake, vs2019, Debug
    windows, premake, vs2019, Release
    windows, premake, vs2022, Debug
    windows, premake, vs2022, Release
    windows, cmake, vs2019, Debug
    windows, cmake, vs2019, Release
    windows, cmake, vs2022, Debug
    windows, cmake, vs2022, Release

It also builds and runs the catch tests executable in the following configurations. A failed test will fail the build.

    macOS, premake, Debug
    linux, premake, clang, Debug
    windows, premake, vs2022, Debug

It doesn't currently build cmake on macOS because there is a one blocker there (#577). We could also add additional builds like cmake with both clang and gcc on linux, but for now this is much better coverage than we have currently.
2022-11-12 13:27:46 -05:00