mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-06-21 03:52:07 -05:00
76 lines
2.2 KiB
CMake
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})
|