Skip to content

Use cmake#90

Open
konard wants to merge 3 commits intomainfrom
issue-64-f22ecb4d
Open

Use cmake#90
konard wants to merge 3 commits intomainfrom
issue-64-f22ecb4d

Conversation

@konard
Copy link
Member

@konard konard commented Sep 13, 2025

Summary

This pull request implements CMake as the primary build system for the C++ components, replacing the Visual Studio project files.

Key Changes

  • CMake Configuration: Added cpp/CMakeLists.txt with support for library and test builds
  • Dependency Management: Created cpp/conanfile.txt for managing dependencies (GTest, Platform.Delegates, Platform.Exceptions)
  • Test Framework: Updated test files to use proper C++ syntax and GTest framework
  • GitHub Actions Compatible: Maintains compatibility with existing CI workflow

Implementation Details

CMake Structure:

  • Interface library for Platform.Disposables headers
  • Conditional test compilation with LINKS_PLATFORM_TESTS flag
  • Support for C++20 standard
  • Proper dependency linking for Platform.Delegates and Platform.Exceptions

Conan Dependencies:

  • GTest for unit testing
  • Platform.Exceptions for exception handling utilities
  • Platform.Delegates for delegate functionality

Test Updates:

  • Created AllTests.cpp using GTest framework
  • Updated Program.cpp to use proper C++ syntax
  • Maintained expected test behavior for disposal order testing

Test Results

✅ Local CMake build successful
✅ GTest suite runs with 2 passing tests
✅ DisposalOrderTest executable generates expected output

Fixes

Closes #64


🤖 Generated with Claude Code

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #64
@konard konard self-assigned this Sep 13, 2025
This commit implements CMake as the primary build system for the C++ components, replacing the Visual Studio project files.

Key changes:
- Created CMakeLists.txt with support for library and test builds
- Added conanfile.txt for dependency management (GTest, Platform.Delegates, Platform.Exceptions)
- Updated test files to use proper C++ syntax and GTest framework
- Maintained compatibility with existing GitHub Actions workflow

The CMake configuration follows linksplatform repository patterns and supports conditional test compilation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] Use cmake Use cmake Sep 13, 2025
@konard konard marked this pull request as ready for review September 13, 2025 16:06
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.

Use cmake

1 participant