cmake_minimum_required(VERSION 3.1) project(Linux-VR-Compositor C) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN ON) set(CMAKE_C_STANDARD 99) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -ansi -pedantic -Werror=implicit-function-declaration -Werror=incompatible-pointer-types") option(ENABLE_XCB "Enable XCB" ON) find_package(OpenGL REQUIRED) find_package(openhmd REQUIRED) add_library(lvrc include/lvrc.h src/lvrc.c src/lvrc_internal.h src/instance.c src/instance.h src/swapChain.c src/swapChain.h src/frame.c src/frame.h) target_link_libraries(lvrc PUBLIC openhmd ${OPENGL_LIBRARIES} EGL) target_link_libraries(lvrc PUBLIC "drm" "gbm") target_include_directories(lvrc PRIVATE "/usr/include/drm/") target_include_directories(lvrc PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") if (ENABLE_XCB) target_link_libraries(lvrc PUBLIC "xcb" "xcb-randr") target_compile_definitions(lvrc PRIVATE ENABLE_XCB=1) endif(ENABLE_XCB) export(TARGETS lvrc FILE lvrc-config.cmake) add_subdirectory(examples)