diff --git a/CMakeLists.txt b/CMakeLists.txt index df0fe12b..1af81560 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,7 @@ option(DDPROF_ALLOCATOR "Define the type of allocator (STANDARD / JEMALLOC)" STA option(BUILD_BENCHMARKS "Enable benchmarks" OFF) option(BUILD_DDPROF_TESTING "Enable tests" ON) option(STRIP_DEBUG_INFO "Strip debug info from the final binaries" OFF) +option(DDPROF_FETCH_LIBDATADOG "Download libdatadog from GitHub releases" ON) if(USE_LOADER AND USE_AUXILIARY) message(FATAL_ERROR "USE_LOADER and USE_AUXILIARY are incompatible") diff --git a/cmake/Findlibdatadog.cmake b/cmake/Findlibdatadog.cmake index 69920f3f..a1ca017e 100644 --- a/cmake/Findlibdatadog.cmake +++ b/cmake/Findlibdatadog.cmake @@ -9,12 +9,17 @@ set(TAG_LIBDATADOG set(Datadog_ROOT ${VENDOR_PATH}/libdatadog-${TAG_LIBDATADOG}) -message(STATUS "${CMAKE_SOURCE_DIR}/tools/fetch_libddprof.sh ${TAG_LIBDATADOG} ${LIBDATADOG_ROOT}") -execute_process( - COMMAND "${CMAKE_SOURCE_DIR}/tools/fetch_libdatadog.sh" ${TAG_LIBDATADOG} ${Datadog_ROOT} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND_ERROR_IS_FATAL ANY) +if(DDPROF_FETCH_LIBDATADOG) + message(STATUS "${CMAKE_SOURCE_DIR}/tools/fetch_libddprof.sh ${TAG_LIBDATADOG} ${LIBDATADOG_ROOT}") + execute_process( + COMMAND "${CMAKE_SOURCE_DIR}/tools/fetch_libdatadog.sh" ${TAG_LIBDATADOG} ${Datadog_ROOT} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND_ERROR_IS_FATAL ANY) -set(DataDog_DIR "${Datadog_ROOT}/cmake") + set(DataDog_DIR "${Datadog_ROOT}/cmake") +endif() + +# When DDPROF_FETCH_LIBDATADOG=OFF, the consumer must provide Datadog through +# CMAKE_PREFIX_PATH or a CMake config generator (e.g. Conan CMakeDeps). # Prefer static library to shared library set(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES})