Skip to content

[rebase-progressive] Fix/Cleanup CMake files, Fix building with CMake on macOS and Linux, etc#8

Open
WinterPhoenix wants to merge 1 commit intoFacepunch:masterfrom
solsticegamestudios:rebase-progressive
Open

[rebase-progressive] Fix/Cleanup CMake files, Fix building with CMake on macOS and Linux, etc#8
WinterPhoenix wants to merge 1 commit intoFacepunch:masterfrom
solsticegamestudios:rebase-progressive

Conversation

@WinterPhoenix
Copy link
Copy Markdown
Contributor

@WinterPhoenix WinterPhoenix commented Oct 24, 2025

The 2nd PR in the series from SGS's gmod-html fork.

Changes in this PR

  • Fix/Cleanup CMake files
  • Structure CMake files correctly for a CEF project, importing CEF's CMake files
  • Fix building with CMake on macOS and Linux
  • Explicitly use -A Windows API functions (presence of UNICODE from CEF CMake forces consideration)
  • Cleanup JSValue to fix macOS builds
  • Use correct User Agent version on Linux and macOS
  • Update README with working instructions to build using CMake on all platforms
  • Update .gitignore to ignore all CMake build/dist directories, IDE files, recursively ignore thirdparty/cef3, etc
  • Disable example_host (non-functional as-is and requires changes we'll do separately)

Motivation for changes

These changes address problems attempting to compile gmod-html using CMake, which is the primary method used outside of Facepunch.

We restructure the CMake files as a proper CEF project, which addresses a whole host of issues by itself. Beyond that, these changes are the absolute minimum necessary for getting compilation to work with CMake on all platforms.

It must be noted that since there are no changes here that address issues running CEF post-compilation, it is still broken on Linux, however fixing that will require updating to a newer CEF version regardless.

This PR also includes working instructions for compiling with CMake on all platforms in the README.

@WinterPhoenix WinterPhoenix force-pushed the rebase-progressive branch 2 times, most recently from c07a7ff to c083822 Compare October 24, 2025 03:56
Comment thread html_chromium/ChromiumClient.cpp
- Structure CMake files correctly for a CEF project, importing CEF's CMake files
- Fix building with CMake on macOS and Linux
- Explicitly use -A Windows API functions (presence of UNICODE from CEF CMake forces consideration)
- Cleanup JSValue to fix macOS builds
- Use correct User Agent version on Linux and macOS
- Update README with working instructions to build using CMake on all platforms
- Update .gitignore to ignore all CMake build/dist directories, IDE files, recursively ignore thirdparty/cef3, etc
- Disable example_host (non-functional as-is and requires changes we'll do separately)

Co-authored-by: sohpeach <sohpeach@users.noreply.github.com>
Co-authored-by: JohnPeel <john@dgby.org>
Co-authored-by: AkikoKumagara <akiko@solsticegamestudios.com>
Co-authored-by: Davilarek <davilareko@gmail.com>
Co-authored-by: snowkat <snow@datagirl.xyz>
@RandomTNT
Copy link
Copy Markdown

F---ng finally!
LGTM :steamhappy:

@Grocel
Copy link
Copy Markdown

Grocel commented Jan 19, 2026

Agreed, however this is just a Single PR of a multi part PR project, as explicitly requested by Rubat.
It is expected to have at least 6-8 other commits to be fully done. The other PRs will be submitted after this PR has been merged.

@RandomTNT
Copy link
Copy Markdown

Agreed, however this is just a Single PR of a multi part PR project, as explicitly requested by Rubat. It is expected to have at least 6-8 other commits to be fully done. The other PRs will be submitted after this PR has been merged.

yeah i've read the other pr
long gone will be the days of patching using gmodceffixtool
long gone will be the days of crashing native x64 on linux

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