mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-11-12 14:57:20 +00:00
Build the Windows client against the MSVC ABI while retaining clang language support. Use vcpkg for ANGLE and libsamplerate, and build MsQuic with its bundled static OpenSSL.
84 lines
2.0 KiB
CMake
84 lines
2.0 KiB
CMake
set(ANGLE_ROOT "" CACHE PATH "Root of a prebuilt ANGLE distribution")
|
|
|
|
if(ANGLE_ROOT)
|
|
set(_ANGLE_HINTS HINTS "${ANGLE_ROOT}")
|
|
set(_ANGLE_FIND_POLICY NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
|
endif()
|
|
|
|
find_path(ANGLE_EGL_INCLUDE_DIR
|
|
NAMES EGL/egl.h
|
|
${_ANGLE_HINTS}
|
|
PATH_SUFFIXES include
|
|
${_ANGLE_FIND_POLICY}
|
|
)
|
|
|
|
find_path(ANGLE_GLES_INCLUDE_DIR
|
|
NAMES GLES3/gl32.h
|
|
${_ANGLE_HINTS}
|
|
PATH_SUFFIXES include
|
|
${_ANGLE_FIND_POLICY}
|
|
)
|
|
|
|
find_library(ANGLE_EGL_LIBRARY
|
|
NAMES EGL libEGL
|
|
${_ANGLE_HINTS}
|
|
PATH_SUFFIXES lib lib64
|
|
${_ANGLE_FIND_POLICY}
|
|
)
|
|
|
|
find_library(ANGLE_GLESV2_LIBRARY
|
|
NAMES GLESv2 libGLESv2
|
|
${_ANGLE_HINTS}
|
|
PATH_SUFFIXES lib lib64
|
|
${_ANGLE_FIND_POLICY}
|
|
)
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(ANGLE
|
|
REQUIRED_VARS
|
|
ANGLE_EGL_INCLUDE_DIR
|
|
ANGLE_GLES_INCLUDE_DIR
|
|
ANGLE_EGL_LIBRARY
|
|
ANGLE_GLESV2_LIBRARY
|
|
)
|
|
|
|
if(ANGLE_FOUND AND MSVC)
|
|
foreach(_ANGLE_LIBRARY IN ITEMS
|
|
"${ANGLE_EGL_LIBRARY}"
|
|
"${ANGLE_GLESV2_LIBRARY}")
|
|
if(_ANGLE_LIBRARY MATCHES "\\.(a|dll\\.a)$")
|
|
message(FATAL_ERROR
|
|
"The clang-cl client requires MSVC-ABI ANGLE .lib files; found "
|
|
"${_ANGLE_LIBRARY}")
|
|
endif()
|
|
endforeach()
|
|
endif()
|
|
|
|
mark_as_advanced(
|
|
ANGLE_EGL_INCLUDE_DIR
|
|
ANGLE_GLES_INCLUDE_DIR
|
|
ANGLE_EGL_LIBRARY
|
|
ANGLE_GLESV2_LIBRARY
|
|
)
|
|
|
|
if(ANGLE_FOUND AND NOT TARGET ANGLE::GLESv2)
|
|
add_library(ANGLE::GLESv2 UNKNOWN IMPORTED)
|
|
set_target_properties(ANGLE::GLESv2 PROPERTIES
|
|
IMPORTED_LOCATION "${ANGLE_GLESV2_LIBRARY}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${ANGLE_GLES_INCLUDE_DIR}"
|
|
)
|
|
endif()
|
|
|
|
if(ANGLE_FOUND AND NOT TARGET ANGLE::EGL)
|
|
add_library(ANGLE::EGL UNKNOWN IMPORTED)
|
|
set_target_properties(ANGLE::EGL PROPERTIES
|
|
IMPORTED_LOCATION "${ANGLE_EGL_LIBRARY}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${ANGLE_EGL_INCLUDE_DIR}"
|
|
INTERFACE_LINK_LIBRARIES ANGLE::GLESv2
|
|
)
|
|
endif()
|
|
|
|
unset(_ANGLE_HINTS)
|
|
unset(_ANGLE_FIND_POLICY)
|
|
unset(_ANGLE_LIBRARY)
|