aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/nanogui/fix-glad-dependence.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/nanogui/fix-glad-dependence.patch')
-rw-r--r--vcpkg/ports/nanogui/fix-glad-dependence.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/vcpkg/ports/nanogui/fix-glad-dependence.patch b/vcpkg/ports/nanogui/fix-glad-dependence.patch
new file mode 100644
index 0000000..03a3475
--- /dev/null
+++ b/vcpkg/ports/nanogui/fix-glad-dependence.patch
@@ -0,0 +1,101 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3fe6f5d..22dc16f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -87,7 +87,7 @@ endif()
+
+ # Shared library mode: add dllimport/dllexport flags to all symbols
+ if (NANOGUI_BUILD_SHARED)
+- list(APPEND NANOGUI_EXTRA_DEFS -DNANOGUI_SHARED -DNVG_SHARED -DGLAD_GLAPI_EXPORT)
++ list(APPEND NANOGUI_EXTRA_DEFS -DNANOGUI_SHARED -DNVG_SHARED)
+ endif()
+
+ if (MSVC)
+@@ -196,21 +196,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ endif()
+ endif()
+
+-if (NANOGUI_USE_GLAD)
+- # Build and include GLAD on Windows
+- list(APPEND LIBNANOGUI_EXTRA_SOURCE
+- "${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/src/glad.c"
+- "${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/include/glad/glad.h"
+- "${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/include/KHR/khrplatform.h")
+- if (MSVC)
+- set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/src/glad.c"
+- PROPERTIES COMPILE_FLAGS "/wd4055 ")
+- endif()
+- include_directories(ext/glad/include)
+- list(APPEND NANOGUI_EXTRA_DEFS -DNANOGUI_GLAD)
+- list(APPEND NANOGUI_EXTRA_INCS "${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/include")
+-endif()
+-
+ list(APPEND NANOGUI_EXTRA_INCS
+ "${CMAKE_CURRENT_SOURCE_DIR}/ext/glfw/include"
+ "${CMAKE_CURRENT_SOURCE_DIR}/ext/nanovg/src"
+@@ -299,8 +284,6 @@ if (APPLE)
+ add_compile_options(-fobjc-arc)
+ endif()
+
+-add_definitions(${NANOGUI_EXTRA_DEFS})
+-
+ # Compile main NanoGUI library
+ add_library(nanogui-obj OBJECT
+ # Merge NanoVG into the NanoGUI library
+@@ -373,6 +356,14 @@ find_package(Eigen3 CONFIG REQUIRED)
+ find_package(glfw3 CONFIG REQUIRED)
+ target_link_libraries(nanogui glfw nanovg::nanovg Eigen3::Eigen)
+
++if (NANOGUI_USE_GLAD)
++ find_package(glad CONFIG REQUIRED)
++ target_link_libraries(nanogui glad::glad)
++ list(APPEND NANOGUI_EXTRA_DEFS -DNANOGUI_GLAD)
++endif()
++
++add_definitions(${NANOGUI_EXTRA_DEFS})
++
+ if (NANOGUI_BUILD_SHARED)
+ set_property(TARGET nanogui-obj PROPERTY POSITION_INDEPENDENT_CODE ON)
+ endif()
+@@ -380,11 +371,6 @@ endif()
+ # Compile/link flags for NanoGUI
+ set_property(TARGET nanogui-obj APPEND PROPERTY COMPILE_DEFINITIONS "NANOGUI_BUILD;NVG_BUILD")
+
+-if (NANOGUI_USE_GLAD AND NANOGUI_BUILD_SHARED)
+- set_property(TARGET nanogui-obj APPEND PROPERTY COMPILE_DEFINITIONS
+- "GLAD_GLAPI_EXPORT;GLAD_GLAPI_EXPORT_BUILD")
+-endif()
+-
+ if (NANOGUI_BUILD_SHARED)
+ target_link_libraries(nanogui ${NANOGUI_EXTRA_LIBS})
+ endif()
+diff --git a/include/nanogui/opengl.h b/include/nanogui/opengl.h
+index f5abcb2..1c20653 100644
+--- a/include/nanogui/opengl.h
++++ b/include/nanogui/opengl.h
+@@ -17,10 +17,6 @@
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+ #if defined(NANOGUI_GLAD)
+- #if defined(NANOGUI_SHARED) && !defined(GLAD_GLAPI_EXPORT)
+- #define GLAD_GLAPI_EXPORT
+- #endif
+-
+ #include <glad/glad.h>
+ #else
+ #if defined(__APPLE__)
+diff --git a/src/example3.cpp b/src/example3.cpp
+index 3d2ecfa..72deaa8 100644
+--- a/src/example3.cpp
++++ b/src/example3.cpp
+@@ -14,10 +14,6 @@
+ // GLFW
+ //
+ #if defined(NANOGUI_GLAD)
+- #if defined(NANOGUI_SHARED) && !defined(GLAD_GLAPI_EXPORT)
+- #define GLAD_GLAPI_EXPORT
+- #endif
+-
+ #include <glad/glad.h>
+ #else
+ #if defined(__APPLE__)