SceneSwitcher/plugins/openvr/CMakeLists.txt

76 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.14)
project(advanced-scene-switcher-openvr)
# --- Check OpenCV requirements ---
if(NOT WIN32)
message(
WARNING "OpenVR condition is only supported on Windows builds for now.")
return()
endif(NOT WIN32)
# --- End of section ---
add_library(${PROJECT_NAME} MODULE)
target_sources(${PROJECT_NAME} PRIVATE macro-condition-openvr.cpp
macro-condition-openvr.hpp)
setup_advss_plugin(${PROJECT_NAME})
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
# --- OpenVR build settings ---
get_target_property(ADVSS_SOURCE_DIR advanced-scene-switcher-lib SOURCE_DIR)
if(NOT OpenVR_DIR)
set(OpenVR_DIR ${ADVSS_SOURCE_DIR}/deps/openvr)
endif()
if(EXISTS "${OpenVR_DIR}/CMakeLists.txt")
set(SIZEOF_VOIDP ${CMAKE_SIZEOF_VOID_P})
if((NOT APPLE) AND (CMAKE_SIZEOF_VOID_P EQUAL 8))
set(PROCESSOR_ARCH "64")
else()
set(PROCESSOR_ARCH "32")
endif()
if(WIN32)
set(PLATFORM_NAME "win")
elseif(UNIX AND NOT APPLE)
if(CMAKE_SYSTEM_NAME MATCHES ".*Linux")
set(PLATFORM_NAME "linux")
endif()
elseif(APPLE)
if(CMAKE_SYSTEM_NAME MATCHES ".*Darwin.*" OR CMAKE_SYSTEM_NAME MATCHES
".*MacOS.*")
set(PLATFORM_NAME "osx")
endif()
endif()
set(OpenVR_INCLUDE_DIRS ${OpenVR_DIR}/headers)
set(OpenVR_BINARIES
${OpenVR_DIR}/bin/${PLATFORM_NAME}${PROCESSOR_ARCH}/${CMAKE_SHARED_LIBRARY_PREFIX}openvr_api${CMAKE_SHARED_LIBRARY_SUFFIX}
)
set(OpenVR_LIBRARIES
${OpenVR_DIR}/lib/${PLATFORM_NAME}${PROCESSOR_ARCH}/${CMAKE_SHARED_LIBRARY_PREFIX}openvr_api${CMAKE_IMPORT_LIBRARY_SUFFIX}
)
set(OpenVR_FOUND TRUE)
endif()
if(OpenVR_FOUND)
target_include_directories(${PROJECT_NAME} PRIVATE "${OpenVR_INCLUDE_DIRS}")
else()
set(OpenVR_LIBRARIES "")
message(
WARNING
"OpenVR not found! Functionality relying on OpenVR will be disabled!\nOpenVR sources are available under: ${CMAKE_CURRENT_SOURCE_DIR}/deps/openvr"
)
return()
endif()
target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenVR_LIBRARIES})
# --- End of section ---
install_advss_plugin(${PROJECT_NAME})
install_advss_plugin_dependency(TARGET ${PROJECT_NAME} DEPENDENCIES
${OpenVR_BINARIES})