Skip to content
This repository has been archived by the owner on Jul 31, 2023. It is now read-only.

CMake stackdriver enhancements #447

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

Commits on Jun 19, 2020

  1. enhanced CMake support ( work in progress )

    - support for package export and instal
       - opencensus_lib() now has a HDRS section just like Bazel.
       - opencensus_lib() allows declaration of headers in subdirectories, and installs them in proper directory
       - still issues with segregating public and private headers ( HDRS of non PUBLIC opencenus_lib )
         ( it looks like customer can write code that includes internal files )
       - still issues linking private static libraries together into bigger public ones. ( as Bazel does )
    
    - attempt at allowing build as shared libraries
      - added helper code to request no undefined symbols in shared libraries.
      - attempt failed due to circular dependencies ( opencensus_trace and opencensus_context  ). Until those are fixed, only static libs will work.
      - outlined many missing dependencies declarations, only fixed in CMake for now.
        ideally similar changes would be done to Bazel build, and Bazel would allow to build shared libs as well...
      - stackdriver / googleapis / google-cloud-cpp changed recently, does not export monitoring/logging and cloud trace/tracing libs.
    
    - attempt at building with FetchContent if and only if no existing package has been found.
      same ideas as using shared libraries :
      - reuse and to link ability into programs that may already use some of the same deps.
      - third party ( opencensus-cpp ) should not require significant alterations in consuming client build system ( hence CMake ) and strategy (
    
    - linux-specifc example : using stackdriver exporter on Google Cloud Engine
      - parse /proc/meminfo and /proc/vmstat to stackdriver
      - rely via FetchContent on third party software
        - cpr ( to implement succintly access go GCE instance metadata server  )
        - re2 ( to brace against variable level of support/correctness in implementation of <regex> with old GCC versions )
    
    - not yet verified on anything but CentOS 7
       - in particular no effort has been yet made so that CI via travis or appveyor actually works.
         As such, not ready to merge
    alichnewsky committed Jun 19, 2020
    Configuration menu
    Copy the full SHA
    5360131 View commit details
    Browse the repository at this point in the history
  2. clang-format

    alichnewsky committed Jun 19, 2020
    Configuration menu
    Copy the full SHA
    618a630 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    abb9edc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b1af7a6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d21434d View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2020

  1. CMake: stackdriver exporter build only behind an option. does a find_…

    …package() on gRPC and googleapis. No FetchContent yet
    alichnewsky committed Jun 20, 2020
    Configuration menu
    Copy the full SHA
    9262d39 View commit details
    Browse the repository at this point in the history
  2. make protobuf/grpc/stackdriver dependent target contingent to BUILD_S…

    …TACKDRIVER_EXPORTER CMake option
    alichnewsky committed Jun 20, 2020
    Configuration menu
    Copy the full SHA
    21e7a6b View commit details
    Browse the repository at this point in the history
  3. Fix travis-ci build : abseil as FetchContent means linking rule needs…

    … change, fix newest example
    alichnewsky committed Jun 20, 2020
    Configuration menu
    Copy the full SHA
    1818f72 View commit details
    Browse the repository at this point in the history
  4. removed re2 as dependency for the new memory example, as I can\'t get…

    … it to pass its own unit tests when used with FetchContent ...
    alichnewsky committed Jun 20, 2020
    Configuration menu
    Copy the full SHA
    357b50b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7221529 View commit details
    Browse the repository at this point in the history
  6. finally manually assembled the right versions of buildifier,clang-for…

    …mat and cmake-format manually as docker-format Dockerfile is obsolete. format check should match travis one
    alichnewsky committed Jun 20, 2020
    Configuration menu
    Copy the full SHA
    8675d05 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c1fb529 View commit details
    Browse the repository at this point in the history