File: FindFmt.cmake

package info (click to toggle)
transmission 4.1.0~beta3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 47,800 kB
  • sloc: cpp: 223,954; python: 6,998; javascript: 6,211; ansic: 5,826; sh: 771; xml: 550; makefile: 73
file content (24 lines) | stat: -rw-r--r-- 990 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
add_library(fmt::fmt-header-only INTERFACE IMPORTED)

set(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE "/usr/include")

target_include_directories(fmt::fmt-header-only
    INTERFACE
        ${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE})

find_file(_FMT_VERSION_H_PATH
    NAMES "fmt/base.h" "fmt/core.h"
    PATHS "${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE}")
file(READ "${_FMT_VERSION_H_PATH}" _FMT_VERSION_H)
if(_FMT_VERSION_H MATCHES "FMT_VERSION ([0-9]+)([0-9][0-9])([0-9][0-9])")
    # Use math to skip leading zeros if any.
    math(EXPR _FMT_VERSION_MAJOR ${CMAKE_MATCH_1})
    math(EXPR _FMT_VERSION_MINOR ${CMAKE_MATCH_2})
    math(EXPR _FMT_VERSION_PATCH ${CMAKE_MATCH_3})
    set(${CMAKE_FIND_PACKAGE_NAME}_VERSION "${_FMT_VERSION_MAJOR}.${_FMT_VERSION_MINOR}.${_FMT_VERSION_PATCH}")
endif()

target_compile_definitions(fmt::fmt-header-only
    INTERFACE
        $<IF:$<VERSION_GREATER_EQUAL:${${CMAKE_FIND_PACKAGE_NAME}_VERSION},11.2.0>,FMT_USE_EXCEPTIONS,FMT_EXCEPTIONS>=0
        FMT_HEADER_ONLY=1)