diff options
Diffstat (limited to 'infra/cmake/packages/AbseilConfig.cmake')
-rw-r--r-- | infra/cmake/packages/AbseilConfig.cmake | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/infra/cmake/packages/AbseilConfig.cmake b/infra/cmake/packages/AbseilConfig.cmake new file mode 100644 index 000000000..06d36b9ea --- /dev/null +++ b/infra/cmake/packages/AbseilConfig.cmake @@ -0,0 +1,37 @@ +function(_Abseil_import) + nnas_find_package(AbseilSource QUIET) + + if(NOT AbseilSource_FOUND) + message("Abseil: NOT FOUND (Cannot access source)") + set(Abseil_FOUND FALSE PARENT_SCOPE) + return() + endif(NOT AbseilSource_FOUND) + + if(NOT TARGET abseil) + nnas_include(ExternalProjectTools) + + # NOTE Turn off abseil testing + set(BUILD_TESTING OFF) + add_extdirectory("${AbseilSource_DIR}" ABSEIL) + + add_library(abseil INTERFACE) + target_link_libraries(abseil INTERFACE + # From "Available Abseil CMake Public Targets" in CMake/README.md + absl::base + absl::algorithm + absl::container + absl::debugging + absl::memory + absl::meta + absl::numeric + absl::strings + absl::synchronization + absl::time + absl::utility + ) + endif(NOT TARGET abseil) + + set(Abseil_FOUND TRUE PARENT_SCOPE) +endfunction(_Abseil_import) + +_Abseil_import() |