Revert GLES3 changes for OSMesa in Windows (#1079)

This commit is contained in:
tdcosta100
2023-04-28 12:51:46 -03:00
committed by GitHub
parent 95c7e3818d
commit 4c01b7ef1f
4 changed files with 13 additions and 13 deletions

View File

@@ -218,7 +218,7 @@ function(add_node_module NAME)
TARGET ${_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/platform/windows/vendor/mesa3d/${_ARCH}/libglapi.dll" "${_OUTPUT_PATH}"
COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/platform/windows/vendor/mesa3d/${_ARCH}/libGLESv3.dll" "${_OUTPUT_PATH}"
COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/platform/windows/vendor/mesa3d/${_ARCH}/libGLESv2.dll" "${_OUTPUT_PATH}"
COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/platform/windows/vendor/mesa3d/${_ARCH}/osmesa.dll" "${_OUTPUT_PATH}"
)
endif()

View File

@@ -16,10 +16,10 @@ else()
endif()
find_library(OSMesa_osmesa_LIBRARY NAMES osmesa PATHS ${OSMesa_DIR}/lib PATH_SUFFIXES ${_ARCH} NO_DEFAULT_PATH)
find_library(OSMesa_libGLESv3_LIBRARY NAMES libGLESv3 PATHS ${OSMesa_DIR}/lib PATH_SUFFIXES ${_ARCH} NO_DEFAULT_PATH)
find_library(OSMesa_libGLESv2_LIBRARY NAMES libGLESv2 PATHS ${OSMesa_DIR}/lib PATH_SUFFIXES ${_ARCH} NO_DEFAULT_PATH)
find_file(OSMesa_osmesa_LIBRARY_DLL NAMES osmesa.dll PATHS ${OSMesa_DIR} PATH_SUFFIXES ${_ARCH} NO_DEFAULT_PATH)
find_file(OSMesa_libGLESv3_LIBRARY_DLL NAMES libGLESv3.dll PATHS ${OSMesa_DIR} PATH_SUFFIXES ${_ARCH} NO_DEFAULT_PATH)
find_file(OSMesa_libGLESv2_LIBRARY_DLL NAMES libGLESv2.dll PATHS ${OSMesa_DIR} PATH_SUFFIXES ${_ARCH} NO_DEFAULT_PATH)
unset(_ARCH)
@@ -29,18 +29,18 @@ include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OSMesa
REQUIRED_VARS
OSMesa_osmesa_LIBRARY
OSMesa_libGLESv3_LIBRARY
OSMesa_libGLESv2_LIBRARY
OSMesa_INCLUDE_DIR)
# Hide internal variables
mark_as_advanced(OSMesa_INCLUDE_DIR OSMesa_osmesa_LIBRARY OSMesa_libGLESv3_LIBRARY)
mark_as_advanced(OSMesa_INCLUDE_DIR OSMesa_osmesa_LIBRARY OSMesa_libGLESv2_LIBRARY)
# Set standard variables
if(OSMesa_FOUND)
set(OSMesa_INCLUDE_DIRS "${OSMesa_INCLUDE_DIR}")
set(OSMesa_LIBRARIES
"${OSMesa_osmesa_LIBRARY}"
"${OSMesa_libGLESv3_LIBRARY}"
"${OSMesa_libGLESv2_LIBRARY}"
)
add_library(OSMesa::osmesa SHARED IMPORTED)
@@ -53,13 +53,13 @@ if(OSMesa_FOUND)
IMPORTED_LOCATION ${OSMesa_osmesa_LIBRARY_DLL}
)
add_library(OSMesa::libGLESv3 SHARED IMPORTED)
add_library(OSMesa::libGLESv2 SHARED IMPORTED)
set_target_properties(
OSMesa::libGLESv3
OSMesa::libGLESv2
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${OSMesa_INCLUDE_DIRS}
IMPORTED_IMPLIB ${OSMesa_libGLESv3_LIBRARY}
IMPORTED_LOCATION ${OSMesa_libGLESv3_LIBRARY_DLL}
IMPORTED_IMPLIB ${OSMesa_libGLESv2_LIBRARY}
IMPORTED_LOCATION ${OSMesa_libGLESv2_LIBRARY_DLL}
)
endif()

View File

@@ -43,7 +43,7 @@ To configure build with OSMesa (software rendering), use the following command:
cmake . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DMLN_WITH_OSMESA=ON
```
**WARNING:** as OSMesa doesn't have static libraries, it's necessary to copy `libglapi.dll`, `libGLESv3.dll` and `osmesa.dll` from `platform\windows\vendor\mesa3d\<arch>` to executable/dll directory you want to use, otherwise it won't run.
**WARNING:** as OSMesa doesn't have static libraries, it's necessary to copy `libglapi.dll`, `libGLESv2.dll` and `osmesa.dll` from `platform\windows\vendor\mesa3d\<arch>` to executable/dll directory you want to use, otherwise it won't run.
## Building

View File

@@ -91,7 +91,7 @@ if(MLN_WITH_EGL)
mbgl-core
PRIVATE
unofficial::angle::libEGL
unofficial::angle::libGLESv3
unofficial::angle::libGLESv2
)
elseif(MLN_WITH_OSMESA)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
@@ -114,7 +114,7 @@ elseif(MLN_WITH_OSMESA)
mbgl-core
PRIVATE
OSMesa::osmesa
OSMesa::libGLESv3
OSMesa::libGLESv2
)
else()
find_package(OpenGL REQUIRED)