You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.9 KiB

1 year ago
  1. # Find the Vision Labs Vehicle Engine SDK kit.
  2. # Sets the usual variables expected for find_package scripts:
  3. # VSDK_INCLUDE_DIRS - headers location
  4. # VSDK_LIBRARIES - libraries to link against
  5. # VSDK_FOUND - true if Vehicle SDK was found.
  6. # Look for headers.
  7. find_path(VSDK_INCLUDE_DIRS
  8. NAMES vsdk/VehicleEngine.h vsdk/VSDKStatus.h
  9. HINTS $ENV{VSDKDIR}
  10. PATHS ${VSDK_ROOT}
  11. PATH_SUFFIXES include
  12. )
  13. #find additional include path for fsdk headers
  14. find_path(VSDK_ADDITIONAL_INCLUDE_DIRS
  15. NAMES fsdk/ISettingsProvider.h fsdk/Types.h
  16. HINTS $ENV{VSDKDIR}
  17. PATHS ${VSDK_ROOT}
  18. PATH_SUFFIXES include
  19. )
  20. #determine compiler vendor tag
  21. if(MSVC10)
  22. set(VSDK_COMPILER_NAME vs2010)
  23. elseif(MSVC11)
  24. set(VSDK_COMPILER_NAME vs2012)
  25. elseif(MSVC12)
  26. set(VSDK_COMPILER_NAME vs2013)
  27. elseif(MSVC14)
  28. set(VSDK_COMPILER_NAME vs2015)
  29. elseif(MSVC15)
  30. set(VSDK_COMPILER_NAME vs2017)
  31. elseif(CMAKE_COMPILER_IS_GNUCXX)
  32. set(VSDK_COMPILER_NAME gcc4)
  33. elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  34. set(VSDK_COMPILER_NAME clang)
  35. elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
  36. set(VSDK_COMPILER_NAME clang)
  37. else()
  38. message(SEND_ERROR "Unsupported compiler: ${VSDK_COMPILER_NAME}")
  39. endif()
  40. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  41. set(VSDK_TARGET_NAME x64)
  42. else()
  43. set(VSDK_TARGET_NAME x86)
  44. endif()
  45. find_library(VSDK_LIBRARIES
  46. NAMES VehicleEngineSDK
  47. PATHS ${VSDK_ROOT}
  48. PATH_SUFFIXES lib/${VSDK_COMPILER_NAME}/${VSDK_TARGET_NAME}
  49. NO_DEFAULT_PATH)
  50. if(VSDK_INCLUDE_DIRS AND VSDK_LIBRARIES)
  51. set(VSDK_FOUND TRUE)
  52. endif()
  53. message(STATUS "VSDK: VSDK_INCLUDE_DIRS = ${VSDK_INCLUDE_DIRS}. VSDK_LIBRARIES = ${VSDK_LIBRARIES}")
  54. include(FindPackageHandleStandardArgs)
  55. find_package_handle_standard_args(VSDK_FOUND VSDK_INCLUDE_DIRS VSDK_ADDITIONAL_INCLUDE_DIRS VSDK_LIBRARIES)
  56. set(VSDK_INCLUDE_DIRS ${VSDK_INCLUDE_DIRS} ${VSDK_ADDITIONAL_INCLUDE_DIRS})
  57. mark_as_advanced(
  58. VSDK_FOUND
  59. VSDK_INCLUDE_DIRS
  60. VSDK_LIBRARIES
  61. )