Skip to content

Vcpkg cmake #72

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 186 commits into from
Feb 26, 2025
Merged

Vcpkg cmake #72

merged 186 commits into from
Feb 26, 2025

Conversation

soheibthriber
Copy link
Collaborator

@soheibthriber soheibthriber commented Jan 24, 2025

Draft PR: Clean Documentation and Ensure Build Correctness on All Platforms

Summary

This PR aims to clean up the repository documentation and ensure the build process is correct and consistent across all platforms. The following tasks have been completed or are in progress:

Todos

  • Test standalone build with vcpkg as submodule.
  • Add Docker for Linux production and development builds
  • decision to use github runners.
  • Add workflow for MinGW build.
  • Add workflow for mac build.
  • Add workflow for linux build.
  • Remove extra zen-build and old build system files and documentation.
  • Improve the documentation and build documentation.
  • Update the scripts and remove unnecessary scripts.

Details

  1. Standalone Build with vcpkg as Submodule

    • Verified that the standalone build works correctly with vcpkg as a submodule.
  2. Docker for Linux Production and Development Builds

    • Added Dockerfile for Linux production build.
    • Added Dockerfile for Linux development build.

3. GitHub Runners for CI/CD

  • Evaluated and decided to use GitHub runners for automation.
  • Configured workflows to leverage runners efficiently.

4. Workflow for MinGW Build

  • Added a GitHub Actions workflow for MinGW builds.
  • Ensured Windows builds work correctly using cross-compilation.

5. Workflow for macOS Build

  • Implemented a GitHub Actions workflow for macOS builds.
  • Verified compatibility with macOS environments.

6. Workflow for Linux Build

  • Added a CI workflow to ensure Linux builds are consistent.
  • Integrated with Docker-based builds where necessary.

7. Removal of Extra zen-build and Old Build System Files

  • Deleted obsolete zen-build scripts and configurations.
  • Removed old Makefiles and outdated documentation.

8. Improved Documentation and Build Instructions

  • Updated README.md with clear setup and build instructions.
  • Created a dedicated docs/build.md for platform-specific details.
  • Added troubleshooting steps for common build issues.

9. Updated Scripts and Removed Unnecessary Scripts

  • Refactored existing build scripts for better maintainability.
  • Removed redundant or deprecated scripts.
  • Ensured all scripts align with the new build system.

Next Steps

  • Complete the remaining tasks.
  • Test the Docker builds on all platforms.
  • Finalize the documentation updates.

Notes

  • Please review the changes and provide feedback.
  • Additional testing on different platforms is appreciated.

Thank you for your time and consideration.

slarbi and others added 30 commits November 22, 2024 15:43
Move all find_package calls here (for easier debugging)
Get rid of global include_directories() and link_directories() so we know we have the correct dependencies deeper down in the targets.
Reformatted some of the lines for better readbility.
PKG_CONFIG_PATH should be an environment variable.
FFMPEG is required.
@soheibthriber soheibthriber force-pushed the vcpkg-cmake branch 14 times, most recently from 771b06f to 702b7d9 Compare February 5, 2025 09:18
explicitly casting  to the possible types.
+ adding parallel build on all platforms
soheibthriber and others added 3 commits February 13, 2025 20:04
add layout
remove old doc folder and create docs folder
all documentation now is generated by doxygen
@soheibthriber soheibthriber merged commit a018c2c into master Feb 26, 2025
3 checks passed
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.

4 participants