@@ -26,7 +26,35 @@ find_path(GLFW_INCLUDE_DIR GLFW/glfw3.h
26
26
27
27
DOC "The directory where GLFW/glfw.h resides" )
28
28
29
- find_library (GLFW_LIBRARY_RELEASE NAMES glfw3 glfw glfw3dll glfwdll
29
+
30
+ set (GLFW_LIB_SUFFIX "" )
31
+ if (MSVC14)
32
+ set (GLFW_LIB_SUFFIX "vc2015" )
33
+ elseif (MSVS12)
34
+ set (GLFW_LIB_SUFFIX "vc2013" )
35
+ elseif (MSVC11)
36
+ set (GLFW_LIB_SUFFIX "vc2012" )
37
+ elseif (MSVC10)
38
+ set (GLFW_LIB_SUFFIX "vc2010" )
39
+ elseif (MINGW)
40
+ if (X64)
41
+ set (GLFW_LIB_SUFFIX "mingw-w64" )
42
+ else ()
43
+ set (GLFW_LIB_SUFFIX "mingw" )
44
+ endif ()
45
+ endif ()
46
+
47
+ set (GLFW_NAMES glfw3 glfw)
48
+ set (GLFW_DEBUG_NAMES glfw3d glfwd)
49
+ if (WIN32 )
50
+ option (GLFW_SHARED "Use shared GLFW library (DLL)" ON )
51
+ if (GLFW_SHARED)
52
+ set (GLFW_NAMES glfw3dll glfwdll)
53
+ set (GLFW_DEBUG_NAMES glfw3ddll glfwddll)
54
+ endif ()
55
+ endif ()
56
+
57
+ find_library (GLFW_LIBRARY_RELEASE NAMES ${GLFW_NAMES}
30
58
31
59
HINTS
32
60
${GLFW_INCLUDE_DIR} /..
@@ -49,11 +77,12 @@ find_library(GLFW_LIBRARY_RELEASE NAMES glfw3 glfw glfw3dll glfwdll
49
77
PATH_SUFFIXES
50
78
/lib
51
79
/lib64
80
+ /lib-${GLFW_LIB_SUFFIX}
52
81
/src # for from-source builds
53
82
54
83
DOC "The GLFW library" )
55
84
56
- find_library (GLFW_LIBRARY_DEBUG NAMES glfw3d glfwd glfw3ddll glfwddll
85
+ find_library (GLFW_LIBRARY_DEBUG NAMES ${GLFW_DEBUG_NAMES}
57
86
58
87
HINTS
59
88
${GLFW_INCLUDE_DIR} /..
@@ -91,7 +120,7 @@ elseif(GLFW_LIBRARY_DEBUG)
91
120
set (GLFW_LIBRARIES ${GLFW_LIBRARY_DEBUG} )
92
121
endif ()
93
122
94
- if (WIN32 )
123
+ if (WIN32 AND GLFW_SHARED )
95
124
96
125
find_file (GLFW_BINARY glfw3.dll
97
126
@@ -106,6 +135,7 @@ if(WIN32)
106
135
PATH_SUFFIXES
107
136
/lib
108
137
/bin
138
+ /lib-${GLFW_LIB_SUFFIX}
109
139
110
140
DOC "The GLFW binary" )
111
141
0 commit comments