/
LeapCMakeTemplates.cmake
88 lines (75 loc) · 2.84 KB
/
LeapCMakeTemplates.cmake
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
#.rst
#LeapTemplates
#-------------
# Created by Walter Gray
#
# Some Leap Motion specific boilderplate code.
# Not reccomended for use outside of the Leap Motion engineering group,
# though you're welcome to define your own.
macro(leap_find_external_libraries)
if(BUILD_ANDROID)
if(NOT BUILD_64_BIT)
set(_lib_suffix -android32)
else()
set(_lib_suffix -android64)
endif()
endif()
find_path(EXTERNAL_LIBRARY_DIR "eigen-3.2.1/Eigen/CMakeLists.txt"
PATHS
"$ENV{EXTERNAL_LIBRARY_DIR}${_lib_suffix}"
"$ENV{LIBRARIES_PATH}${_lib_suffix}"
"$ENV{PATH}"
"/opt/local/Libraries${_lib_suffix}"
"$ENV{EXTERNAL_LIBRARY_DIR}"
"$ENV{LIBRARIES_PATH}"
"/opt/local/Libraries"
)
if(NOT CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME)
if(NOT BUILD_64_BIT)
set(_lib_suffix -x86)
else()
set(_lib_suffix -x64)
endif()
find_path(HOST_EXTERNAL_LIBRARY_DIR "eigen-3.2.1/Eigen/CMakeLists.txt"
PATHS
"$ENV{EXTERNAL_LIBRARY_DIR}${_lib_suffix}"
"$ENV{LIBRARIES_PATH}${_lib_suffix}"
"$ENV{PATH}"
"/opt/local/Libraries${_lib_suffix}"
"$ENV{EXTERNAL_LIBRARY_DIR}"
"$ENV{LIBRARIES_PATH}"
"/opt/local/Libraries"
)
if(NOT IS_DIRECTORY ${HOST_EXTERNAL_LIBRARY_DIR})
message(FATAL_ERROR "HOST_EXTERNAL_LIBRARY_DIR not found, please specify a folder to look for the host machine's external libraries")
endif()
else()
set(HOST_EXTERNAL_LIBRARY_DIR ${EXTERNAL_LIBRARY_DIR})
endif()
if(NOT IS_DIRECTORY ${EXTERNAL_LIBRARY_DIR})
message(FATAL_ERROR "EXTERNAL_LIBRARY_DIR not found, please specify a folder to look for external libraries")
endif()
list(INSERT CMAKE_PREFIX_PATH 0 "${EXTERNAL_LIBRARY_DIR}")
endmacro()
macro(leap_use_standard_platform_settings)
if(NOT (MSVC OR CMAKE_BUILD_TYPE))
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release." FORCE)
endif()
# Disable MinSizeRel & MaxSpeedRel
set(CMAKE_CONFIGURATION_TYPES "Release;Debug" CACHE STRING "" FORCE)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
if(APPLE)
if(NOT CMAKE_OSX_ARCHITECTURES)
set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Mac OS X build architectures" FORCE)
endif()
if(NOT CMAKE_OSX_SYSROOT)
set(CMAKE_OSX_SYSROOT "macosx10.9" CACHE STRING "Mac OS X build environment" FORCE)
endif()
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.7" CACHE STRING "Mac OS X deployment target" FORCE)
mark_as_advanced(CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
list(APPEND CMAKE_FIND_LIBRARY_PREFIXES "") #Adds the null set so that we can find libraries that don't start with lib
endif()
endmacro()