634 lines
14 KiB
CMake
634 lines
14 KiB
CMake
# SPDX-FileCopyrightText: 2006 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
set(INC
|
|
PUBLIC .
|
|
../../source/blender/imbuf
|
|
)
|
|
|
|
set(INC_SYS
|
|
)
|
|
|
|
set(SRC
|
|
intern/GHOST_Buttons.cc
|
|
intern/GHOST_C-api.cc
|
|
intern/GHOST_CallbackEventConsumer.cc
|
|
intern/GHOST_Context.cc
|
|
intern/GHOST_ContextNone.cc
|
|
intern/GHOST_DisplayManager.cc
|
|
intern/GHOST_EventManager.cc
|
|
intern/GHOST_ISystem.cc
|
|
intern/GHOST_ISystemPaths.cc
|
|
intern/GHOST_ModifierKeys.cc
|
|
intern/GHOST_Path-api.cc
|
|
intern/GHOST_PathUtils.cc
|
|
intern/GHOST_Rect.cc
|
|
intern/GHOST_System.cc
|
|
intern/GHOST_TimerManager.cc
|
|
intern/GHOST_Window.cc
|
|
intern/GHOST_WindowManager.cc
|
|
|
|
GHOST_C-api.h
|
|
GHOST_IContext.hh
|
|
GHOST_IEvent.hh
|
|
GHOST_IEventConsumer.hh
|
|
GHOST_ISystem.hh
|
|
GHOST_ISystemPaths.hh
|
|
GHOST_ITimerTask.hh
|
|
GHOST_IWindow.hh
|
|
GHOST_Path-api.hh
|
|
GHOST_Rect.hh
|
|
GHOST_Types.h
|
|
|
|
intern/GHOST_Buttons.hh
|
|
intern/GHOST_CallbackEventConsumer.hh
|
|
intern/GHOST_Context.hh
|
|
intern/GHOST_ContextNone.hh
|
|
intern/GHOST_Debug.hh
|
|
intern/GHOST_DisplayManager.hh
|
|
intern/GHOST_Event.hh
|
|
intern/GHOST_EventButton.hh
|
|
intern/GHOST_EventCursor.hh
|
|
intern/GHOST_EventDragnDrop.hh
|
|
intern/GHOST_EventKey.hh
|
|
intern/GHOST_EventManager.hh
|
|
intern/GHOST_EventString.hh
|
|
intern/GHOST_EventTrackpad.hh
|
|
intern/GHOST_EventWheel.hh
|
|
intern/GHOST_ModifierKeys.hh
|
|
intern/GHOST_PathUtils.hh
|
|
intern/GHOST_System.hh
|
|
intern/GHOST_SystemPaths.hh
|
|
intern/GHOST_TimerManager.hh
|
|
intern/GHOST_TimerTask.hh
|
|
intern/GHOST_Util.hh
|
|
intern/GHOST_Window.hh
|
|
intern/GHOST_WindowManager.hh
|
|
intern/GHOST_utildefines.hh
|
|
intern/GHOST_utildefines_variadic.hh
|
|
)
|
|
|
|
set(LIB
|
|
PRIVATE bf::blenlib
|
|
PRIVATE bf::dna
|
|
PRIVATE bf::intern::clog
|
|
)
|
|
|
|
if(WITH_INPUT_IME)
|
|
add_definitions(-DWITH_INPUT_IME)
|
|
endif()
|
|
|
|
if(WITH_OPENGL_BACKEND)
|
|
list(APPEND INC_SYS
|
|
${Epoxy_INCLUDE_DIRS}
|
|
)
|
|
list(APPEND LIB
|
|
${Epoxy_LIBRARIES}
|
|
)
|
|
add_definitions(-DWITH_OPENGL_BACKEND)
|
|
endif()
|
|
|
|
if(WITH_VULKAN_BACKEND)
|
|
if (WITH_VULKAN_MOLTENVK)
|
|
list(APPEND INC_SYS
|
|
PUBLIC ${MOLTENVK_INCLUDE_DIRS}
|
|
)
|
|
|
|
list(APPEND LIB
|
|
${MOLTENVK_LIBRARIES}
|
|
)
|
|
add_definitions(-DWITH_VULKAN_MOLTENVK)
|
|
endif()
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_ContextVK.cc
|
|
|
|
intern/GHOST_ContextVK.hh
|
|
)
|
|
|
|
list(APPEND INC_SYS
|
|
PUBLIC ${VULKAN_INCLUDE_DIRS}
|
|
)
|
|
|
|
list(APPEND LIB
|
|
${VULKAN_LIBRARIES}
|
|
)
|
|
|
|
add_definitions(-DWITH_VULKAN_BACKEND)
|
|
endif()
|
|
|
|
if(WITH_GHOST_DEBUG)
|
|
list(APPEND SRC
|
|
intern/GHOST_EventPrinter.cc
|
|
|
|
intern/GHOST_EventPrinter.hh
|
|
)
|
|
add_definitions(-DWITH_GHOST_DEBUG)
|
|
endif()
|
|
|
|
if(WITH_INPUT_NDOF)
|
|
add_definitions(-DWITH_INPUT_NDOF)
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_NDOFManager.cc
|
|
|
|
intern/GHOST_EventNDOF.hh
|
|
intern/GHOST_NDOFManager.hh
|
|
)
|
|
|
|
list(APPEND INC_SYS
|
|
${NDOF_INCLUDE_DIRS}
|
|
)
|
|
list(APPEND LIB
|
|
${NDOF_LIBRARIES}
|
|
)
|
|
endif()
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_DisplayManagerNULL.hh
|
|
intern/GHOST_SystemHeadless.hh
|
|
intern/GHOST_WindowNULL.hh
|
|
)
|
|
|
|
if(WITH_HEADLESS)
|
|
add_definitions(-DWITH_HEADLESS)
|
|
elseif(WITH_GHOST_SDL)
|
|
list(APPEND SRC
|
|
intern/GHOST_ContextSDL.cc
|
|
intern/GHOST_DisplayManagerSDL.cc
|
|
intern/GHOST_SystemSDL.cc
|
|
intern/GHOST_WindowSDL.cc
|
|
|
|
intern/GHOST_ContextSDL.hh
|
|
intern/GHOST_DisplayManagerSDL.hh
|
|
intern/GHOST_SystemSDL.hh
|
|
intern/GHOST_WindowSDL.hh
|
|
)
|
|
add_definitions(-DWITH_GHOST_SDL)
|
|
|
|
list(APPEND INC_SYS
|
|
${SDL_INCLUDE_DIR}
|
|
)
|
|
if(WITH_SDL_DYNLOAD)
|
|
list(APPEND LIB
|
|
extern_sdlew
|
|
)
|
|
else()
|
|
list(APPEND LIB
|
|
${SDL_LIBRARY}
|
|
)
|
|
endif()
|
|
|
|
elseif(APPLE AND NOT WITH_GHOST_X11)
|
|
list(APPEND SRC
|
|
intern/GHOST_DisplayManagerCocoa.mm
|
|
intern/GHOST_SystemCocoa.mm
|
|
intern/GHOST_WindowCocoa.mm
|
|
|
|
intern/GHOST_DisplayManagerCocoa.hh
|
|
intern/GHOST_SystemCocoa.hh
|
|
intern/GHOST_WindowCocoa.hh
|
|
intern/GHOST_WindowViewCocoa.hh
|
|
)
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_ContextCGL.mm
|
|
|
|
intern/GHOST_ContextCGL.hh
|
|
)
|
|
|
|
if(WITH_INPUT_NDOF)
|
|
list(APPEND SRC
|
|
intern/GHOST_NDOFManagerCocoa.mm
|
|
|
|
intern/GHOST_NDOFManagerCocoa.hh
|
|
)
|
|
endif()
|
|
|
|
elseif(WITH_GHOST_X11 OR WITH_GHOST_WAYLAND)
|
|
if(WITH_GHOST_X11)
|
|
list(APPEND INC_SYS
|
|
${X11_X11_INCLUDE_PATH}
|
|
)
|
|
|
|
list(APPEND LIB
|
|
${X11_X11_LIB}
|
|
${X11_Xrender_LIB}
|
|
)
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_DisplayManagerX11.cc
|
|
intern/GHOST_SystemX11.cc
|
|
intern/GHOST_TaskbarX11.cc
|
|
intern/GHOST_WindowX11.cc
|
|
|
|
intern/GHOST_DisplayManagerX11.hh
|
|
intern/GHOST_IconX11.hh
|
|
intern/GHOST_SystemX11.hh
|
|
intern/GHOST_TaskbarX11.hh
|
|
intern/GHOST_WindowX11.hh
|
|
)
|
|
|
|
if(WITH_OPENGL_BACKEND)
|
|
list(APPEND SRC
|
|
intern/GHOST_ContextGLX.cc
|
|
|
|
intern/GHOST_ContextGLX.hh
|
|
)
|
|
endif()
|
|
|
|
if(WITH_GHOST_XDND)
|
|
add_definitions(-DWITH_XDND)
|
|
|
|
list(APPEND LIB
|
|
extern_xdnd
|
|
)
|
|
|
|
list(APPEND INC
|
|
../../extern/xdnd
|
|
)
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_DropTargetX11.cc
|
|
|
|
intern/GHOST_DropTargetX11.hh
|
|
)
|
|
endif()
|
|
|
|
if(X11_XF86keysym_INCLUDE_PATH)
|
|
add_definitions(-DWITH_XF86KEYSYM)
|
|
list(APPEND INC_SYS
|
|
${X11_XF86keysym_INCLUDE_PATH}
|
|
)
|
|
endif()
|
|
|
|
if(WITH_X11_XF86VMODE)
|
|
add_definitions(-DWITH_X11_XF86VMODE)
|
|
list(APPEND INC_SYS
|
|
${X11_Xxf86vm_INCLUDE_PATH}
|
|
)
|
|
list(APPEND LIB
|
|
${X11_Xxf86vmode_LIB}
|
|
)
|
|
endif()
|
|
|
|
if(WITH_X11_XFIXES)
|
|
add_definitions(-DWITH_X11_XFIXES)
|
|
list(APPEND INC_SYS
|
|
${X11_Xfixes_INCLUDE_PATH}
|
|
)
|
|
list(APPEND LIB
|
|
${X11_Xfixes_LIB}
|
|
)
|
|
endif()
|
|
|
|
if(WITH_X11_XINPUT)
|
|
add_definitions(-DWITH_X11_XINPUT)
|
|
list(APPEND INC_SYS
|
|
${X11_Xinput_INCLUDE_PATH}
|
|
)
|
|
list(APPEND LIB
|
|
${X11_Xinput_LIB}
|
|
)
|
|
endif()
|
|
|
|
add_definitions(-DWITH_GHOST_X11)
|
|
endif()
|
|
|
|
if(WITH_GHOST_WAYLAND)
|
|
list(APPEND INC_SYS
|
|
${wayland-client_INCLUDE_DIRS}
|
|
${wayland-egl_INCLUDE_DIRS}
|
|
${xkbcommon_INCLUDE_DIRS}
|
|
${wayland-cursor_INCLUDE_DIRS}
|
|
)
|
|
list(APPEND LIB
|
|
${xkbcommon_LINK_LIBRARIES}
|
|
)
|
|
|
|
if(WITH_GHOST_WAYLAND_DYNLOAD)
|
|
list(APPEND INC_SYS
|
|
../wayland_dynload/extern
|
|
)
|
|
list(APPEND LIB
|
|
bf_intern_wayland_dynload
|
|
)
|
|
add_definitions(-DWITH_GHOST_WAYLAND_DYNLOAD)
|
|
else()
|
|
list(APPEND LIB
|
|
${wayland-client_LINK_LIBRARIES}
|
|
${wayland-egl_LINK_LIBRARIES}
|
|
${wayland-cursor_LINK_LIBRARIES}
|
|
)
|
|
endif()
|
|
|
|
if(WITH_GHOST_WAYLAND_LIBDECOR)
|
|
list(APPEND INC_SYS
|
|
${libdecor_INCLUDE_DIRS}
|
|
)
|
|
if(NOT WITH_GHOST_WAYLAND_DYNLOAD)
|
|
list(APPEND LIB
|
|
${libdecor_LIBRARIES}
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
include(CheckSymbolExists)
|
|
set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
|
|
check_symbol_exists(memfd_create "sys/mman.h" HAVE_MEMFD_CREATE)
|
|
unset(CMAKE_REQUIRED_DEFINITIONS)
|
|
if(HAVE_MEMFD_CREATE)
|
|
add_definitions(-DHAVE_MEMFD_CREATE)
|
|
endif()
|
|
|
|
check_symbol_exists(poll "poll.h" HAVE_POLL)
|
|
if(HAVE_POLL)
|
|
add_definitions(-DHAVE_POLL)
|
|
endif()
|
|
|
|
if(WITH_GHOST_WAYLAND_LIBDECOR)
|
|
# See code-comment for `USE_LIBDECOR_CONFIG_COPY_WORKAROUND`.
|
|
check_symbol_exists(malloc_usable_size "malloc.h" HAVE_MALLOC_USABLE_SIZE)
|
|
if(HAVE_MALLOC_USABLE_SIZE)
|
|
add_definitions(-DHAVE_MALLOC_USABLE_SIZE)
|
|
endif()
|
|
endif()
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_SystemWayland.cc
|
|
intern/GHOST_WindowWayland.cc
|
|
|
|
intern/GHOST_SystemWayland.hh
|
|
intern/GHOST_WaylandUtils.hh
|
|
intern/GHOST_WindowWayland.hh
|
|
)
|
|
|
|
set(INC_DST ${CMAKE_CURRENT_BINARY_DIR}/libwayland)
|
|
|
|
# Generate protocols bindings.
|
|
macro(generate_protocol_bindings PROT_DEF)
|
|
# File name without directory or extension (use for header name).
|
|
get_filename_component(_name ${PROT_DEF} NAME_WLE)
|
|
add_custom_command(
|
|
OUTPUT ${INC_DST}/${_name}-client-protocol.h
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${INC_DST}
|
|
COMMAND ${WAYLAND_SCANNER} client-header ${PROT_DEF} ${INC_DST}/${_name}-client-protocol.h
|
|
)
|
|
add_custom_command(
|
|
OUTPUT ${INC_DST}/${_name}-client-protocol.c
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${INC_DST}
|
|
COMMAND ${WAYLAND_SCANNER} private-code ${PROT_DEF} ${INC_DST}/${_name}-client-protocol.c
|
|
DEPENDS ${INC_DST}/${_name}-client-protocol.h
|
|
)
|
|
|
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
|
# Prevent warnings/failure to compile with generated `WL_PRIVATE` declarations.
|
|
set_source_files_properties(
|
|
"${INC_DST}/${_name}-client-protocol.c"
|
|
PROPERTIES COMPILE_FLAGS "-Wno-missing-variable-declarations"
|
|
)
|
|
endif()
|
|
|
|
list(APPEND SRC
|
|
${INC_DST}/${_name}-client-protocol.c
|
|
${INC_DST}/${_name}-client-protocol.h
|
|
)
|
|
unset(_name)
|
|
endmacro()
|
|
|
|
list(APPEND INC_SYS
|
|
${INC_DST}
|
|
)
|
|
|
|
# Used when: LIBDECOR is not needed.
|
|
# `xdg-shell`.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/stable/xdg-shell/xdg-shell.xml"
|
|
)
|
|
# `xdg-decoration`.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml"
|
|
)
|
|
# End LIBDECOR alternative.
|
|
|
|
# `xdg-output`.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/unstable/xdg-output/xdg-output-unstable-v1.xml"
|
|
)
|
|
# `xdg-activation`.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/staging/xdg-activation/xdg-activation-v1.xml"
|
|
)
|
|
# Fractional scale.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/staging/fractional-scale/fractional-scale-v1.xml"
|
|
)
|
|
# Viewport (only required when fractional scale is in use).
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/stable/viewporter/viewporter.xml"
|
|
)
|
|
# Pointer-constraints.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml"
|
|
)
|
|
# Relative-pointer.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml"
|
|
)
|
|
# Pointer-gestures (multi-touch).
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml"
|
|
)
|
|
# Tablet.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/unstable/tablet/tablet-unstable-v2.xml"
|
|
)
|
|
# Primary-selection.
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/unstable/primary-selection/primary-selection-unstable-v1.xml"
|
|
)
|
|
if(WITH_INPUT_IME)
|
|
generate_protocol_bindings(
|
|
"${WAYLAND_PROTOCOLS_DIR}/unstable/text-input/text-input-unstable-v3.xml"
|
|
)
|
|
endif()
|
|
|
|
unset(INC_DST)
|
|
|
|
add_definitions(-DWITH_GHOST_WAYLAND)
|
|
if(NOT WITH_GHOST_WAYLAND_APP_ID STREQUAL "")
|
|
add_definitions(-DWITH_GHOST_WAYLAND_APP_ID=${WITH_GHOST_WAYLAND_APP_ID})
|
|
endif()
|
|
|
|
endif()
|
|
|
|
if(WITH_INPUT_NDOF)
|
|
list(APPEND SRC
|
|
intern/GHOST_NDOFManagerUnix.cc
|
|
|
|
intern/GHOST_NDOFManagerUnix.hh
|
|
)
|
|
endif()
|
|
|
|
if(NOT WITH_INSTALL_PORTABLE)
|
|
add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
|
|
endif()
|
|
|
|
|
|
elseif(WIN32)
|
|
# # Warnings as errors, this is too strict!
|
|
# if(MSVC)
|
|
# string(APPEND CMAKE_CXX_FLAGS " /WX")
|
|
# endif()
|
|
|
|
list(APPEND INC_SYS
|
|
${WINTAB_INC}
|
|
)
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_ContextD3D.cc
|
|
intern/GHOST_DisplayManagerWin32.cc
|
|
intern/GHOST_DropTargetWin32.cc
|
|
intern/GHOST_SystemWin32.cc
|
|
intern/GHOST_TrackpadWin32.cc
|
|
intern/GHOST_WindowWin32.cc
|
|
intern/GHOST_Wintab.cc
|
|
|
|
intern/GHOST_ContextD3D.hh
|
|
intern/GHOST_DisplayManagerWin32.hh
|
|
intern/GHOST_DropTargetWin32.hh
|
|
intern/GHOST_SystemWin32.hh
|
|
intern/GHOST_TaskbarWin32.hh
|
|
intern/GHOST_TrackpadWin32.hh
|
|
intern/GHOST_WindowWin32.hh
|
|
intern/GHOST_Wintab.hh
|
|
)
|
|
|
|
list(APPEND SRC
|
|
intern/GHOST_ContextWGL.cc
|
|
|
|
intern/GHOST_ContextWGL.hh
|
|
)
|
|
|
|
if(WITH_INPUT_IME)
|
|
list(APPEND SRC
|
|
intern/GHOST_ImeWin32.cc
|
|
|
|
intern/GHOST_ImeWin32.hh
|
|
)
|
|
endif()
|
|
|
|
if(WITH_INPUT_NDOF)
|
|
list(APPEND SRC
|
|
intern/GHOST_NDOFManagerWin32.cc
|
|
|
|
intern/GHOST_NDOFManagerWin32.hh
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
if(UNIX AND NOT APPLE)
|
|
if(WITH_OPENGL_BACKEND)
|
|
list(APPEND SRC
|
|
intern/GHOST_ContextEGL.cc
|
|
|
|
intern/GHOST_ContextEGL.hh
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
if(APPLE)
|
|
list(APPEND SRC
|
|
intern/GHOST_SystemPathsCocoa.hh
|
|
intern/GHOST_SystemPathsCocoa.mm
|
|
)
|
|
|
|
elseif(UNIX)
|
|
list(APPEND SRC
|
|
intern/GHOST_SystemPathsUnix.cc
|
|
intern/GHOST_SystemPathsUnix.hh
|
|
)
|
|
|
|
if(NOT WITH_INSTALL_PORTABLE)
|
|
add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
|
|
endif()
|
|
|
|
elseif(WIN32)
|
|
list(APPEND SRC
|
|
intern/GHOST_SystemPathsWin32.cc
|
|
intern/GHOST_SystemPathsWin32.hh
|
|
)
|
|
|
|
list(APPEND INC
|
|
../utfconv
|
|
)
|
|
|
|
endif()
|
|
|
|
if(WITH_XR_OPENXR)
|
|
list(APPEND SRC
|
|
intern/GHOST_Xr.cc
|
|
intern/GHOST_XrAction.cc
|
|
intern/GHOST_XrContext.cc
|
|
intern/GHOST_XrControllerModel.cc
|
|
intern/GHOST_XrEvent.cc
|
|
intern/GHOST_XrGraphicsBinding.cc
|
|
intern/GHOST_XrSession.cc
|
|
intern/GHOST_XrSwapchain.cc
|
|
|
|
GHOST_IXrContext.hh
|
|
intern/GHOST_IXrGraphicsBinding.hh
|
|
intern/GHOST_XrAction.hh
|
|
intern/GHOST_XrContext.hh
|
|
intern/GHOST_XrControllerModel.hh
|
|
intern/GHOST_XrException.hh
|
|
intern/GHOST_XrSession.hh
|
|
intern/GHOST_XrSwapchain.hh
|
|
intern/GHOST_Xr_intern.hh
|
|
intern/GHOST_Xr_openxr_includes.hh
|
|
|
|
# Header only library.
|
|
../../extern/tinygltf/tiny_gltf.h
|
|
)
|
|
list(APPEND INC_SYS
|
|
../../extern/json/include
|
|
../../extern/tinygltf
|
|
)
|
|
list(APPEND INC_SYS
|
|
${EIGEN3_INCLUDE_DIRS}
|
|
${XR_OPENXR_SDK_INCLUDE_DIR}
|
|
)
|
|
list(APPEND LIB
|
|
${XR_OPENXR_SDK_LIBRARIES}
|
|
)
|
|
|
|
set(XR_PLATFORM_DEFINES -DXR_USE_GRAPHICS_API_OPENGL)
|
|
|
|
# Add compiler defines as required by the OpenXR specification.
|
|
if(WIN32)
|
|
list(APPEND XR_PLATFORM_DEFINES
|
|
-DXR_USE_PLATFORM_WIN32
|
|
-DXR_USE_GRAPHICS_API_D3D11
|
|
)
|
|
list(APPEND LIB
|
|
shlwapi
|
|
)
|
|
elseif(UNIX AND NOT APPLE)
|
|
list(APPEND XR_PLATFORM_DEFINES -DXR_OS_LINUX)
|
|
if(WITH_GHOST_WAYLAND)
|
|
list(APPEND XR_PLATFORM_DEFINES -DXR_USE_PLATFORM_WAYLAND)
|
|
endif()
|
|
if(WITH_GHOST_X11)
|
|
list(APPEND XR_PLATFORM_DEFINES -DXR_USE_PLATFORM_EGL)
|
|
list(APPEND XR_PLATFORM_DEFINES -DXR_USE_PLATFORM_XLIB)
|
|
endif()
|
|
endif()
|
|
|
|
add_definitions(-DWITH_XR_OPENXR ${XR_PLATFORM_DEFINES})
|
|
|
|
unset(XR_PLATFORM_DEFINES)
|
|
endif()
|
|
|
|
blender_add_lib(bf_intern_ghost "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|