diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ba397bc..8e20fd7e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,8 +17,8 @@ find_package(PythonInterp 3 REQUIRED) if(CMAKE_SYSTEM_NAME STREQUAL "Linux") option(BUILD_WSI_XCB_SUPPORT "Build XCB WSI support" ON) option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON) - option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" OFF) - option(BUILD_WSI_MIR_SUPPORT "Build Mir WSI support" OFF) + option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" ON) + option(BUILD_WSI_MIR_SUPPORT "Build Mir WSI support" ON) endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") diff --git a/cmake/FindMir.cmake b/cmake/FindMir.cmake new file mode 100644 index 00000000..3f1fb0b3 --- /dev/null +++ b/cmake/FindMir.cmake @@ -0,0 +1,37 @@ +# Try to find Mir on a Unix system +# +# This will define: +# +# MIR_FOUND - System has Mir +# MIR_LIBRARIES - Link these to use Mir +# MIR_INCLUDE_DIR - Include directory for Mir +# MIR_DEFINITIONS - Compiler switches required for using Mir + +if (NOT WIN32) + + find_package (PkgConfig) + pkg_check_modules (PKG_MIR QUIET mirclient) + set(MIR_DEFINITIONS ${PKG_MIR_CFLAGS_OTHER}) + + find_path(MIR_INCLUDE_DIR + NAMES xkbcommon/xkbcommon.h + HINTS ${PC_XKBCOMMON_INCLUDE_DIR} ${PC_XKBCOMMON_INCLUDE_DIRS} + ) + + find_library(MIR_LIBRARY + NAMES mirclient + HINTS ${PKG_MIR_LIBRARIES} ${MIR_LIBRARY_DIRS} + ) + + set (MIR_INCLUDE_DIR ${PKG_MIR_INCLUDE_DIRS}) + set (MIR_LIBRARIES ${MIR_LIBRARY}) + + include (FindPackageHandleStandardArgs) + find_package_handle_standard_args (MIR DEFAULT_MSG + MIR_LIBRARIES + MIR_INCLUDE_DIR + ) + + mark_as_advanced (MIR_LIBRARIES MIR_INCLUDE_DIR) + +endif () diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt index ea5f5565..63ee89a0 100644 --- a/loader/CMakeLists.txt +++ b/loader/CMakeLists.txt @@ -22,6 +22,8 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") if (BUILD_WSI_MIR_SUPPORT) add_definitions(-DVK_USE_PLATFORM_MIR_KHR) + find_package(Mir REQUIRED) + include_directories(${MIR_INCLUDE_DIR}) endif() else() message(FATAL_ERROR "Unsupported Platform!") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 021ea1ae..a59cc74d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -20,6 +20,8 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") if (BUILD_WSI_MIR_SUPPORT) add_definitions(-DVK_USE_PLATFORM_MIR_KHR) + find_package(Mir REQUIRED) + include_directories(${MIR_INCLUDE_DIR}) endif() else() message(FATAL_ERROR "Unsupported Platform!")