diff --git a/projects/rocprofiler-sdk/external/CMakeLists.txt b/projects/rocprofiler-sdk/external/CMakeLists.txt index 5bee3dc032c..7c9be234a8a 100644 --- a/projects/rocprofiler-sdk/external/CMakeLists.txt +++ b/projects/rocprofiler-sdk/external/CMakeLists.txt @@ -138,13 +138,26 @@ rocprofiler_checkout_git_submodule( REPO_URL https://github.com/jbeder/yaml-cpp.git REPO_BRANCH "master") -add_subdirectory(yaml-cpp EXCLUDE_FROM_ALL) + +# Prefer system-provided yaml-cpp over vendored one +option(ROCPROF_USE_SYS_YAML_CPP + "Use system-provided yaml-cpp instead of vendored external/yaml-cpp" ON) + + if (ROCPROF_USE_SYS_YAML_CPP) + find_package(yaml-cpp CONFIG REQUIRED) + else() + add_subdirectory(yaml-cpp EXCLUDE_FROM_ALL) + endif() + target_link_libraries(rocprofiler-sdk-yaml-cpp - INTERFACE $) -target_include_directories( - rocprofiler-sdk-yaml-cpp - INTERFACE $) + INTERFACE yaml-cpp::yaml-cpp) + +if (NOT ROCPROF_USE_SYS_YAML_CPP) + target_include_directories( + rocprofiler-sdk-yaml-cpp + INTERFACE $) +endif() # checkout submodule if not already checked out or clone repo if no .gitmodules file rocprofiler_checkout_git_submodule(