Skip to content
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

build: improve the Linux aspect of things #75

Merged
merged 2 commits into from
Aug 29, 2022

Commits on Aug 28, 2022

  1. build: make vcpkg optional

    Tachi107 committed Aug 28, 2022
    Configuration menu
    Copy the full SHA
    a5a9077 View commit details
    Browse the repository at this point in the history
  2. build: rework how dependencies are linked

    This is a big rework of how dependencies are handled internally. All the
    calls to CMake functions changing directory-wide properties that were
    previously used to link to external and internal dependencies have been
    replaced with their "target_" counterparts. This makes it possible to
    express more clearly the relationships between different targets and
    should also make the build script more robust in general.
    
    In doing this, I've also made it possible to link to system libraries if
    so desired; the versioned calls to find_package() will make sure that
    the found dependencies are compatible with the ones required by Cemu,
    and will abort the build otherwise.
    
    Cemu's internal targets are deeply interconnected, making it hard to
    fully benefit from a target-based approach. Nonetheless, I did my best
    to mark PUBLIC dependencies as such, for example when an internal target
    like CemuGui exposes a dependency as part of its API, i.e. it includes
    a third party header in one of its public headers.
    
    This will significantly help with improving the build experience on
    Linux, thus helping a bit with the resolution of cemu-project#1.
    Tachi107 committed Aug 28, 2022
    Configuration menu
    Copy the full SHA
    9fabba1 View commit details
    Browse the repository at this point in the history