cmake: Add options for each of the linux wsi interfaces
We default everything except XCB to off since that is the only one that has
been well-tested up to now.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 80888e9..120bf39 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,21 +19,30 @@
add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR)
set(DisplayServer Android)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
+ # TODO: Basic support is present for Xlib but is untested.
+ # Wayland/Mir support is stubbed in but unimplemented and untested.
+ option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON)
+ option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" OFF)
+ option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" OFF)
+ option(BUILD_WSI_MIR_SUPPORT "Build Mir WSI support" OFF)
+
set(DisplayServer Xcb)
-# TODO: Basic support is present for Xlib but is untested.
-# Wayland/Mir support is stubbed in but unimplemented and untested.
+ if (BUILD_WSI_XCB_SUPPORT)
+ add_definitions(-DVK_USE_PLATFORM_XCB_KHR)
+ endif()
-# add_definitions(-DVK_USE_PLATFORM_XLIB_KHR)
-# set(DisplayServer Xlib)
+ if (BUILD_WSI_XLIB_SUPPORT)
+ add_definitions(-DVK_USE_PLATFORM_XLIB_KHR)
+ endif()
-# add_definitions(-DVK_USE_PLATFORM_MIR_KHR)
-# set(DisplayServer Mir)
+ if (BUILD_WSI_WAYLAND_SUPPORT)
+ add_definitions(-DVK_USE_PLATFORM_WAYLAND_KHR)
+ endif()
-# add_definitions(-DVK_USEPLATFORM_WAYLAND_KHR)
-# set(DisplayServer Wayland)
-
+ if (BUILD_WSI_MIR_SUPPORT)
+ add_definitions(-DVK_USE_PLATFORM_MIR_KHR)
+ endif()
else()
message(FATAL_ERROR "Unsupported Platform!")
endif()