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

Add ability to build with system installed jsoncpp #1716

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Commits on Jan 9, 2023

  1. cmake: Add option to build with system jsoncpp.

    This patch adds the CMake build option `USE_SYSTEM_JSONCPP`,
    which instead of using the internal `jsoncpp.cpp` links against
    the system installed jsoncpp library.
    
    This results in a `libopenvr_api.so` that is only 115K instead of 301K
    on my system.
    
    Distributions like Debian will prefer this behaviour, since it will give
    them the possibility to maintain version and security issues for jsoncpp
    in one place.
    
    This behaviour can be enabled by
    
    ```
    cmake -DUSE_SYSTEM_JSONCPP=True .
    ```
    
    When the flag is not set, the build will behave like it did before.
    
    I tested this patch using the system wide jsoncpp successfully
    with xrdesktop.
    lubosz authored and ArchangeGabriel committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    54a58e4 View commit details
    Browse the repository at this point in the history
  2. thirdparty: Move jsoncpp to thridparty directory.

    Even though the previous patch in this patch set enabled the build with
    a system wide jsoncpp and worked for me, it still left the internal
    jsoncpp includes in the include path, since the includes were placed
    in `CMAKE_CURRENT_SOURCE_DIR`. This could cause problems on other systems
    when trying to build with a system wide jsoncpp.
    
    In order to remove the internal json.h from the include path,
    I moved all jsoncpp files into a thridparty directory amd include
    it in the case of `USE_SYSTEM_JSONCPP` not being set.
    lubosz authored and ArchangeGabriel committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    a7a6995 View commit details
    Browse the repository at this point in the history