forked from jturney/levmar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
levmarConfig.cmake.in
128 lines (121 loc) · 3.93 KB
/
levmarConfig.cmake.in
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# levmarConfig.cmake
# ------------------
#
# levmar cmake module.
# This module sets the following variables in your project:
#
# ::
#
## levmar_FOUND - true if levmar and all required components found on the system
## levmar_VERSION - levmar version in format Major.Minor.Release
## levmar_INCLUDE_DIRS - Directories where levmar header is located.
## levmar_INCLUDE_DIR - same as DIRS
## levmar_DEFINITIONS: Definitions necessary to use levmar, namely USING_levmar.
## levmar_LIBRARIES - levmar library to link against.
## levmar_LIBRARY - same as LIBRARIES
#
#
# Available components: shared static
#
# ::
#
# shared - search for only shared library
# static - search for only static library
#
#
## Exported targets:
##
## ::
##
## If levmar is found, this module defines the following :prop_tgt:`IMPORTED`
## target. Note that if levmar library is static, importing project must
## declare Fortran as a language in order to populate the link libs. ::
##
## levmar::levmar - the main levmar library with header, defs, & linker lang attached.
##
##
## Suggested usage:
##
## ::
##
## find_package(levmar)
## find_package(levmar 1.2 EXACT CONFIG REQUIRED COMPONENTS static)
#
#
# The following variables can be set to guide the search for this package:
#
# ::
#
# levmar_DIR - CMake variable, set to directory containing this Config file
# CMAKE_PREFIX_PATH - CMake variable, set to root directory of this package
# PATH - environment variable, set to bin directory of this package
# CMAKE_DISABLE_FIND_PACKAGE_levmar - CMake variable, disables
# find_package(levmar) when not REQUIRED, perhaps to force internal build
@PACKAGE_INIT@
set(PN levmar)
set (_valid_components
static
shared
)
# find includes
unset(_temp_h CACHE)
find_path(_temp_h
NAMES levmar/levmar.h
PATHS ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@
NO_DEFAULT_PATH)
if(_temp_h)
set(${PN}_INCLUDE_DIR "${_temp_h}")
set(${PN}_INCLUDE_DIRS ${${PN}_INCLUDE_DIR})
else()
set(${PN}_FOUND 0)
if(NOT CMAKE_REQUIRED_QUIET)
message(STATUS "${PN}Config missing component: header (${PN}: ${_temp_h})")
endif()
endif()
# find library: shared, static, or whichever
set(_hold_library_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
list(FIND ${PN}_FIND_COMPONENTS "shared" _seek_shared)
list(FIND ${PN}_FIND_COMPONENTS "static" _seek_static)
if(_seek_shared GREATER -1)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX})
elseif(_seek_static GREATER -1)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
endif()
unset(_temp CACHE)
find_library(_temp
NAMES levmar
PATHS ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@
NO_DEFAULT_PATH)
if(_temp)
set(${PN}_LIBRARY "${_temp}")
if(_seek_shared GREATER -1)
set(${PN}_shared_FOUND 1)
elseif(_seek_static GREATER -1)
set(${PN}_static_FOUND 1)
endif()
else()
if(_seek_shared GREATER -1)
if(NOT CMAKE_REQUIRED_QUIET)
message(STATUS "${PN}Config missing component: shared library (${PN}: ${_temp})")
endif()
elseif(_seek_static GREATER -1)
if(NOT CMAKE_REQUIRED_QUIET)
message(STATUS "${PN}Config missing component: static library (${PN}: ${_temp})")
endif()
else()
set(${PN}_FOUND 0)
if(NOT CMAKE_REQUIRED_QUIET)
message(STATUS "${PN}Config missing component: library (${PN}: ${_temp})")
endif()
endif()
endif()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_hold_library_suffixes})
set(${PN}_LIBRARIES ${${PN}_LIBRARY})
check_required_components(${PN})
#-----------------------------------------------------------------------------
# Don't include targets if this file is being picked up by another
# project which has already built this as a subproject
#-----------------------------------------------------------------------------
if(NOT TARGET ${PN}::${PN})
include("${CMAKE_CURRENT_LIST_DIR}/${PN}Targets.cmake")
endif()