master
cmake 57 lines 1.69 KB
Raw
1 # SPDX-License-Identifier: GPL-3.0-or-later
2 # Functions and macros for handling of dlib
3
4 function(netdata_bundle_dlib)
5 include(FetchContent)
6 include(NetdataFetchContentExtra)
7
8 message(STATUS "Preparing vendored copy of dlib")
9
10 if(NETDATA_DLIB_SOURCE_PATH)
11 set(FETCHCONTENT_SOURCE_DIR_DLIB "${NETDATA_DLIB_SOURCE_PATH}")
12 message(STATUS "Using local dlib source: ${NETDATA_DLIB_SOURCE_DIR}")
13 endif()
14
15 set(FETCHCONTENT_FULLY_DISCONNECTED Off)
16 set(repo https://github.com/davisking/dlib.git)
17 set(tag 636c0bcd1e4f428d167699891bc12b404d2d1b41) # v19.24.8
18
19 set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
20 set(DLIB_NO_GUI_SUPPORT ON)
21 set(DLIB_JPEG_SUPPORT OFF)
22 set(DLIB_LINK_WITH_SQLITE3 OFF)
23 set(DLIB_USE_BLAS OFF)
24 set(DLIB_USE_LAPACK OFF)
25 set(DLIB_USE_CUDA OFF)
26 set(DLIB_PNG_SUPPORT OFF)
27 set(DLIB_GIF_SUPPORT OFF)
28 set(DLIB_WEBP_SUPPORT OFF)
29 set(DLIB_JXL_SUPPORT OFF)
30 set(DLIB_USE_MKL_FFT OFF)
31 set(DLIB_USE_FFMPEG OFF)
32
33 if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.28)
34 FetchContent_Declare(dlib
35 GIT_REPOSITORY ${repo}
36 GIT_TAG ${tag}
37 CMAKE_ARGS ${NETDATA_CMAKE_PROPAGATE_TOOLCHAIN_ARGS}
38 EXCLUDE_FROM_ALL
39 )
40 else()
41 FetchContent_Declare(dlib
42 GIT_REPOSITORY ${repo}
43 GIT_TAG ${tag}
44 CMAKE_ARGS ${NETDATA_CMAKE_PROPAGATE_TOOLCHAIN_ARGS}
45 )
46 endif()
47
48 FetchContent_MakeAvailable_NoInstall(dlib)
49
50 message(STATUS "Finished preparing vendored copy of JSON-C")
51 endfunction()
52
53 function(netdata_add_dlib_to_target _target)
54 get_target_property(NETDATA_DLIB_INCLUDE_DIRS dlib INTERFACE_INCLUDE_DIRECTORIES)
55 target_include_directories(${_target} PRIVATE ${NETDATA_DLIB_INCLUDE_DIRS})
56 target_link_libraries(${_target} PRIVATE dlib)
57 endfunction()