File: FindCsv.cmake

package info (click to toggle)
tellico 4.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 29,420 kB
  • sloc: cpp: 89,950; xml: 41,049; ansic: 7,011; javascript: 454; python: 354; ada: 32; sh: 28; perl: 17; makefile: 13
file content (27 lines) | stat: -rw-r--r-- 1,122 bytes parent folder | download | duplicates (6)
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
# Csv_FOUND - system has the csv library
# Csv_INCLUDE_DIRS - the csv include directory
# Csv_LIBRARIES - The libraries needed to use csv

find_path(Csv_INCLUDE_DIRS
    NAMES csv.h
)
find_library(Csv_LIBRARIES NAMES csv)

if(Csv_INCLUDE_DIRS)
  file(READ "${Csv_INCLUDE_DIRS}/csv.h" _csv_header)

  string(REGEX MATCH "define[ \t]+CSV_MAJOR[ \t]+([0-9]+)" _csv_major_version_match "${_csv_header}")
  set(Csv_MAJOR_VERSION "${CMAKE_MATCH_1}")
  string(REGEX MATCH "define[ \t]+CSV_MINOR[ \t]+([0-9]+)" _csv_minor_version_match "${_csv_header}")
  set(Csv_MINOR_VERSION "${CMAKE_MATCH_1}")
  string(REGEX MATCH "define[ \t]+CSV_RELEASE[ \t]+([0-9]+)" _csv_release_version_match "${_csv_header}")
  set(Csv_PATCH_VERSION "${CMAKE_MATCH_1}")
  set(Csv_TWEAK_VERSION 0)
  set(Csv_VERSION_COUNT 3)
  set(Csv_VERSION ${Csv_MAJOR_VERSION}.${Csv_MINOR_VERSION}.${Csv_PATCH_VERSION})

  include(FindPackageHandleStandardArgs)
  find_package_handle_standard_args(Csv FOUND_VAR Csv_FOUND REQUIRED_VARS Csv_INCLUDE_DIRS Csv_LIBRARIES VERSION_VAR Csv_VERSION)
endif(Csv_INCLUDE_DIRS)

mark_as_advanced(Csv_INCLUDE_DIRS Csv_LIBRARIES)