Skip to content

Commit 955152b

Browse files
author
pradeep
committed
Use system/vcpkg spdlog if not fallback to fetchcontent
1 parent 7a4dbbe commit 955152b

File tree

6 files changed

+39
-16
lines changed

6 files changed

+39
-16
lines changed

CMakeLists.txt

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ find_package(CBLAS)
5454
find_package(LAPACKE)
5555
find_package(Doxygen)
5656
find_package(MKL)
57+
find_package(spdlog 1.8.5 QUIET)
5758

5859
include(boost_package)
5960

@@ -153,6 +154,7 @@ mark_as_advanced(
153154
GIT
154155
Forge_DIR
155156
glad_DIR
157+
spdlog_DIR
156158
FG_BUILD_OFFLINE
157159
)
158160
mark_as_advanced(CLEAR CUDA_VERSION)
@@ -182,13 +184,21 @@ endif()
182184
#forge is included in ALL target if AF_BUILD_FORGE is ON
183185
#otherwise, forge is not built at all
184186
include(AFconfigure_forge_dep)
185-
FetchContent_Declare(
186-
${spdlog_prefix}
187-
GIT_REPOSITORY https://github.com/gabime/spdlog.git
188-
GIT_TAG v1.0.0
189-
)
190-
af_dep_check_and_populate(${spdlog_prefix})
191-
187+
add_library(af_spdlog INTERFACE)
188+
if(TARGET spdlog::spdlog_header_only)
189+
target_include_directories(af_spdlog
190+
SYSTEM INTERFACE
191+
$<TARGET_PROPERTY:spdlog::spdlog_header_only,INTERFACE_INCLUDE_DIRECTORIES>
192+
)
193+
else()
194+
FetchContent_Declare(
195+
${spdlog_prefix}
196+
GIT_REPOSITORY https://github.com/gabime/spdlog.git
197+
GIT_TAG v1.8.5
198+
)
199+
af_dep_check_and_populate(${spdlog_prefix})
200+
target_include_directories(af_spdlog INTERFACE "${${spdlog_prefix}_SOURCE_DIR}/include")
201+
endif()
192202

193203
if(NOT TARGET glad::glad)
194204
FetchContent_Declare(
@@ -220,9 +230,6 @@ configure_file(
220230
${ArrayFire_BINARY_DIR}/version.hpp
221231
)
222232

223-
set(SPDLOG_BUILD_TESTING OFF CACHE INTERNAL "Disable testing in spdlog")
224-
add_subdirectory(${${spdlog_prefix}_SOURCE_DIR} ${${spdlog_prefix}_BINARY_DIR} EXCLUDE_FROM_ALL)
225-
226233
# when crosscompiling use the bin2cpp file from the native bin directory
227234
if(CMAKE_CROSSCOMPILING)
228235
set(NATIVE_BIN_DIR "NATIVE_BIN_DIR-NOTFOUND"
@@ -247,7 +254,11 @@ else()
247254
${ArrayFire_SOURCE_DIR}/include
248255
${ArrayFire_BINARY_DIR}/include
249256
${ArrayFire_SOURCE_DIR}/src/backend)
250-
target_link_libraries(bin2cpp PRIVATE spdlog)
257+
if(TARGET spdlog::spdlog_header_only)
258+
target_link_libraries(bin2cpp PRIVATE spdlog::spdlog_header_only)
259+
else()
260+
target_link_libraries(bin2cpp PRIVATE af_spdlog)
261+
endif()
251262
export(TARGETS bin2cpp FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake)
252263
endif()
253264

src/api/unified/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,8 @@ target_include_directories(af
100100

101101
target_link_libraries(af
102102
PRIVATE
103+
af_spdlog
103104
cpp_api_interface
104-
spdlog
105105
Threads::Threads
106106
Boost::boost
107107
${CMAKE_DL_LIBS}

src/backend/common/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ endif()
7979

8080
target_link_libraries(afcommon_interface
8181
INTERFACE
82-
spdlog
82+
af_spdlog
8383
Boost::boost
8484
${CMAKE_DL_LIBS}
8585
)

src/backend/cuda/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ cuda_include_directories(
113113
${ArrayFire_SOURCE_DIR}/src/api/c
114114
${ArrayFire_SOURCE_DIR}/src/backend
115115
${COMMON_INTERFACE_DIRS}
116+
$<TARGET_PROPERTY:af_spdlog,INTERFACE_INCLUDE_DIRECTORIES>
116117
)
117118
if(CUDA_VERSION_MAJOR VERSION_LESS 11)
118119
FetchContent_Declare(
@@ -323,6 +324,7 @@ if(UNIX)
323324
324325
target_link_libraries(af_cuda_static_cuda_library
325326
PRIVATE
327+
af_spdlog
326328
Boost::boost
327329
${CMAKE_DL_LIBS}
328330
${cusolver_lib}
@@ -338,7 +340,6 @@ if(UNIX)
338340
if(CUDA_VERSION VERSION_GREATER 10.0)
339341
target_link_libraries(af_cuda_static_cuda_library
340342
PRIVATE
341-
spdlog
342343
${CUDA_cublasLt_static_LIBRARY})
343344
endif()
344345
if(CUDA_VERSION VERSION_GREATER 9.5)

src/backend/opencl/kernel/scan_by_key/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ foreach(SBK_BINARY_OP ${SBK_BINARY_OPS})
3636
../common
3737
../../../include
3838
${CMAKE_CURRENT_BINARY_DIR}
39-
$<TARGET_PROPERTY:spdlog,INTERFACE_INCLUDE_DIRECTORIES>
39+
$<TARGET_PROPERTY:af_spdlog,INTERFACE_INCLUDE_DIRECTORIES>
4040
$<TARGET_PROPERTY:OpenCL::OpenCL,INTERFACE_INCLUDE_DIRECTORIES>
4141
$<TARGET_PROPERTY:OpenCL::cl2hpp,INTERFACE_INCLUDE_DIRECTORIES>
4242
$<TARGET_PROPERTY:Boost::boost,INTERFACE_INCLUDE_DIRECTORIES>

vcpkg.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,18 @@
1919
"platform": "!windows"
2020
},
2121
"glad",
22-
"intel-mkl"
22+
"intel-mkl",
23+
"spdlog"
24+
],
25+
"overrides": [
26+
{
27+
"name": "fmt",
28+
"version": "6.2.1"
29+
},
30+
{
31+
"name": "spdlog",
32+
"version": "1.6.1"
33+
}
2334
],
2435
"features": {
2536
"cuda": {

0 commit comments

Comments
 (0)