* infra: individual test executables
We used have tests contained in a single executable. This was fine for
testing, but it would be more convient to separate tests into indivudal
modules so targeted changes could have targeted tests.
This change associates each test file with its own executable. We now
have 14 tests for GSL each of which testing a different component.
* revert -Wno-reserved-identifier
* Update tests/span_tests.cpp
thanks copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* be sure to include build type in ctest command
* [VS] make sure we are building the correct configuration
* restore tests/span_tests.cpp
* fix build break after merge conflicts
* fix build break after merge conflicts #2
* another try at fixing a build break
* fix silly typo. build break pt 4
* Use file globbing for test sources instead of manual list (#1227)
* Initial plan
* Use file globbing for test sources instead of manual list
Replace the manually maintained list of test sources with file(GLOB) to
automatically discover all .cpp files in the tests directory, excluding
no_exception_ensure_tests.cpp which needs special compilation flags.
This approach:
- Automatically picks up new test files without CMake updates
- Still correctly excludes no_exception_ensure_tests.cpp
- Maintains the same test build configuration
- Works with both C++14 and C++20
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* use cmake presets instead of cmake settings
This change uses a cmake presets file in an effort allow for agentic AI
to better switch between project settings. It replaces the old
CMakeSettings.json for the more flexible CMakePresets.json.
* Update GitHub Actions workflows to use CMake presets (#1223)
* Initial plan
* Update GitHub Actions to use CMake presets for compilers workflow
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: carsonRadtke <10507970+carsonRadtke@users.noreply.github.com>
* remove unused cmake options
* address PR feedback from copilot
* fix build break
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* fix: update conditional static assertion
There is a static assertion that spuriously fails on MSVC that was
version checked. Unfortunately it fires every time there is a new
compiler update, so for now we will remove the version check and add it
back once the compiler bug is fixed.
* fix: ios pipeline failure
Looks like somewhere along the line, the iOS simulator changed the range
of support iOS versions. This changes bumps the version from 9 to 12.0.
Also noticed that the GSL OSX bundle version was quite out of date. I
bumped this from 3.1.0 to 4.2.0 and created an upgrade checklist file in
docs/ so we don't forget these types of tasks in the future.
* bump xcode version from 15.4 to 16.4
* fix compiler warning when building gtest for ios
* allow for missing include dirs on command line
* replace windows-2019 with windows-2025
* update visual studio versions after runner bump
* PR feedback: make sure markdown links are syntactically correct
* fix failing pipeline tests
* upgrade to googletest v1.14.0 so it works with newer cmake versions
* fix android pipeline to permit new cmake versions (short-term fix)
move pipeline testing from AzDO to GitHub Actions.
* update clang versions to 13-15
* update gcc versions to 10-12
* update xcode versions to 14.3.1 and 15.4
* test against C++23 (where supported)