# Find the Vision Labs Vehicle Engine SDK kit.
|
|
# Sets the usual variables expected for find_package scripts:
|
|
# VSDK_INCLUDE_DIRS - headers location
|
|
# VSDK_LIBRARIES - libraries to link against
|
|
# VSDK_FOUND - true if Vehicle SDK was found.
|
|
|
|
# Look for headers.
|
|
find_path(VSDK_INCLUDE_DIRS
|
|
NAMES vsdk/VehicleEngine.h vsdk/VSDKStatus.h
|
|
HINTS $ENV{VSDKDIR}
|
|
PATHS ${VSDK_ROOT}
|
|
PATH_SUFFIXES include
|
|
)
|
|
|
|
#find additional include path for fsdk headers
|
|
find_path(VSDK_ADDITIONAL_INCLUDE_DIRS
|
|
NAMES fsdk/ISettingsProvider.h fsdk/Types.h
|
|
HINTS $ENV{VSDKDIR}
|
|
PATHS ${VSDK_ROOT}
|
|
PATH_SUFFIXES include
|
|
)
|
|
|
|
#determine compiler vendor tag
|
|
if(MSVC10)
|
|
set(VSDK_COMPILER_NAME vs2010)
|
|
elseif(MSVC11)
|
|
set(VSDK_COMPILER_NAME vs2012)
|
|
elseif(MSVC12)
|
|
set(VSDK_COMPILER_NAME vs2013)
|
|
elseif(MSVC14)
|
|
set(VSDK_COMPILER_NAME vs2015)
|
|
elseif(MSVC15)
|
|
set(VSDK_COMPILER_NAME vs2017)
|
|
elseif(CMAKE_COMPILER_IS_GNUCXX)
|
|
set(VSDK_COMPILER_NAME gcc4)
|
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
|
set(VSDK_COMPILER_NAME clang)
|
|
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
|
set(VSDK_COMPILER_NAME clang)
|
|
else()
|
|
message(SEND_ERROR "Unsupported compiler: ${VSDK_COMPILER_NAME}")
|
|
endif()
|
|
|
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
set(VSDK_TARGET_NAME x64)
|
|
else()
|
|
set(VSDK_TARGET_NAME x86)
|
|
endif()
|
|
|
|
find_library(VSDK_LIBRARIES
|
|
NAMES VehicleEngineSDK
|
|
PATHS ${VSDK_ROOT}
|
|
PATH_SUFFIXES lib/${VSDK_COMPILER_NAME}/${VSDK_TARGET_NAME}
|
|
NO_DEFAULT_PATH)
|
|
|
|
if(VSDK_INCLUDE_DIRS AND VSDK_LIBRARIES)
|
|
set(VSDK_FOUND TRUE)
|
|
endif()
|
|
|
|
message(STATUS "VSDK: VSDK_INCLUDE_DIRS = ${VSDK_INCLUDE_DIRS}. VSDK_LIBRARIES = ${VSDK_LIBRARIES}")
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(VSDK_FOUND VSDK_INCLUDE_DIRS VSDK_ADDITIONAL_INCLUDE_DIRS VSDK_LIBRARIES)
|
|
|
|
set(VSDK_INCLUDE_DIRS ${VSDK_INCLUDE_DIRS} ${VSDK_ADDITIONAL_INCLUDE_DIRS})
|
|
|
|
mark_as_advanced(
|
|
VSDK_FOUND
|
|
VSDK_INCLUDE_DIRS
|
|
VSDK_LIBRARIES
|
|
)
|