Skip to content

Conversation

@soheibthriber
Copy link
Contributor

@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 13 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
@jackjansen jackjansen deleted the vcpkg-cmake branch November 10, 2025 10:05
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.

5 participants