aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/nanogui/fix-glad-dependence.patch
blob: 03a3475ccde01fc2cea004293fb450955e02a07d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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__)