Setup CI and CMake-based build system#135
Open
szalpal wants to merge 5 commits intodds-bridge:developfrom
Open
Setup CI and CMake-based build system#135szalpal wants to merge 5 commits intodds-bridge:developfrom
szalpal wants to merge 5 commits intodds-bridge:developfrom
Conversation
Signed-off-by: Michał Szołucha <michal@szolucha.eu>
Signed-off-by: Michał Szołucha <michal@szolucha.eu>
Signed-off-by: Michał Szołucha <michal@szolucha.eu>
Signed-off-by: Michał Szołucha <michal@szolucha.eu>
build. Signed-off-by: Michał Szołucha <michal@szolucha.eu>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Hi! I came upon this project and I really like it. I'd like to use
ddsfor one of my pet projects. Since I'll be adding some updates todds, I figured I can contribute to parent repository. This is my first contribution here, please let me know about any comments you might have - I'd gladly explain everything.I wanted to start from setting up a CI with github actions and creating more modern build system. This PR adds the CI and CMake routines. Additionally, I'm submitting 2 test fixes that I uncovered while setting up the CI. Please find everything in details below. All changes are properly split into commits, to make later maintenance robust.
Lastly, there are 2 sharp edges:
-Werrorturned off, since there are many warnings in these builds. Hopefully we can resolve them later.Setup CI and CMake-based build system
Adds a modern CMake build system alongside the existing platform-specific Makefiles, with CTest integration and GitHub Actions CI.
CMake build system (
CMakeLists.txt)ddsshared/static library (aliasdds::dds) withfind_packagesupport viacmake/ddsConfig.cmake.inDDS_BUILD_TESTSandDDS_BUILD_EXAMPLESto builddtestand the 13 example programsDDS_WERRORoption (defaultON) controls-Werror//WX, making it easy to turn off for platforms with noisy compilersCTest integration
test/CMakeLists.txt: 6 tests covering all fivedtestsolver modes (solve,calc,par,dealerpar,play) plus a GIB-format calc testexamples/CMakeLists.txt: 13 tests, one per example programFAIL_REGULAR_EXPRESSIONto detect failures, since neitherdtestnor the examples return a non-zero exit code on failureGitHub Actions CI (
.github/workflows/ci.yml)Five jobs run in parallel on every push/PR to
mainanddevelop:macOS and Windows build with
-DDDS_WERROR=OFF. Windows tests are currently skipped pending fixes.Source fixes required for clean compilation
src/Moves.cpp: replaced two UTF-8 characters with ASCII equivalents (caused MSVC parse errors)src/TransTableL.cpp: corrected array definition in function signature (ill-formed under strict compilers)