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

ThirdParty Libs: IMPORTED #389

Merged
merged 3 commits into from
Dec 1, 2018
Merged

ThirdParty Libs: IMPORTED #389

merged 3 commits into from
Dec 1, 2018

Commits on Nov 30, 2018

  1. JSON: Link as SYSTEM

    The nlohmann-json library should be marked as `SYSTEM` linked lib.
    This will cause it to be linked with `-isystem`, allowing us to use
    warnings in openPMD that are stricter than the ones in the dependency
    (since their headers do not throw warnings anymore).
    ax3l committed Nov 30, 2018
    Configuration menu
    Copy the full SHA
    bc0d32f View commit details
    Browse the repository at this point in the history
  2. CMake: treat third party deps IMPORTED

    CMake thirdParty libraries should be marked as imported.
    We do so by creating `openPMD::thirdparty::` targets that are
    imported only and depend on `find_package` or
    `add_subdirectory` targets to decouple them.
    
    Imported targets are always SYSTEM libraries:
    https://cmake.org/cmake/help/v3.8/prop_tgt/NO_SYSTEM_FROM_IMPORTED.html
    
    That allows us to use stricter warnings in our project than third
    party headers support.
    ax3l committed Nov 30, 2018
    Configuration menu
    Copy the full SHA
    1aad31c View commit details
    Browse the repository at this point in the history
  3. CMake: 3.11.0+

    Modifying properties of `IMPORTED` targets is a CMake
    3.11.0+ feature:
      https://cmake.org/cmake/help/v3.11/release/3.11.html#commands
    ax3l committed Nov 30, 2018
    Configuration menu
    Copy the full SHA
    0c85a24 View commit details
    Browse the repository at this point in the history