Skip to content

Conversation

@dermitzos
Copy link
Collaborator

@dermitzos dermitzos commented Jan 24, 2026

This pull request introduces a comprehensive C++ build and test system for the Arcscript transpiler, adding CMake-based build configuration, CI workflow, and improved project documentation. The changes make the project easier to build, test, and maintain across platforms, particularly Windows and macOS, and ensure proper handling of ANTLR4 dependencies.

Build System and CI Integration:

  • Added a complete CMakeLists.txt for the C++ transpiler, supporting shared library and test executable builds, cross-platform output directories, external ANTLR4 integration, and automated copying of dependencies and headers.
  • Introduced GitHub Actions workflow .github/workflows/cpp-build-test.yml to automatically build and test the C++ transpiler on Windows and macOS for pushes and pull requests.

Dependency Management:

  • Added cmake/ExternalAntlr4Cpp.cmake for automated fetching and building of the ANTLR4 C++ runtime as an external project, with platform-specific handling.
  • Added cmake/FindANTLR.cmake to locate the ANTLR jar and Java runtime, and provide a macro for generating C++ parser sources from grammar files within CMake.

Project Documentation and Housekeeping:

  • Created a README.md in the Cpp directory with build instructions and prerequisites for Windows and Linux.
  • Updated .gitignore to exclude IDE files, build artifacts, and CMake-generated directories.

@dermitzos dermitzos force-pushed the cpp-arcscript-transpiler branch from 7341677 to 357f0e8 Compare January 26, 2026 14:35
@dermitzos dermitzos marked this pull request as ready for review January 26, 2026 16:22
@dermitzos dermitzos merged commit 13edd82 into main Jan 26, 2026
2 checks passed
@dermitzos dermitzos deleted the cpp-arcscript-transpiler branch January 26, 2026 16:57
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.

2 participants