summaryrefslogtreecommitdiff
path: root/cmake/dependencies/system/fuse.cmake
blob: 7de12b317d3a8ab017280078b92893db29315464 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Try pkg-config first, fall back to find_library
if(PkgConfig_FOUND)
  pkg_check_modules(FUSE QUIET IMPORTED_TARGET fuse>=2.6)
  if(FUSE_FOUND AND NOT TARGET Fuse::Fuse)
    add_library(Fuse::Fuse ALIAS PkgConfig::FUSE)
  endif()
endif()

if(NOT FUSE_FOUND)
  find_library(FUSE_LIBRARIES fuse QUIET)
  if(FUSE_LIBRARIES)
    set(FUSE_FOUND TRUE)
    if(NOT TARGET Fuse::Fuse)
      add_library(Fuse::Fuse UNKNOWN IMPORTED)
      set_target_properties(Fuse::Fuse PROPERTIES
        IMPORTED_LOCATION "${FUSE_LIBRARIES}")
    endif()
  endif()
endif()

if(FUSE_FOUND)
  set(DISABLE_FUSE FALSE CACHE BOOL "Disable FUSE support")
  if(NOT DISABLE_FUSE)
    if(FUSE_VERSION)
      message(STATUS "FUSE support enabled (version ${FUSE_VERSION})")
    else()
      message(STATUS "FUSE support enabled")
    endif()
    # FUSE_PREFIX is set in cmake/config/global.cmake
    set(HAVE_FUSE TRUE CACHE INTERNAL "FUSE filesystem support available")
  else()
    message(STATUS "FUSE support disabled by user")
    unset(HAVE_FUSE CACHE)
  endif()
else()
  message(STATUS "Install FUSE version >= 2.6 to enable RIB access")
  unset(HAVE_FUSE CACHE)
endif()

if(NOT HAVE_FUSE)
  set(FUSE_LIBRARIES "")
endif()

mark_as_advanced(FUSE_LIBRARIES)