CMake: add WITH_LINKER_LLD option for unix platforms
[blender-staging.git] / extern / glew / CMakeLists.txt
1 # ***** BEGIN GPL LICENSE BLOCK *****
2 #
3 # This program is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU General Public License
5 # as published by the Free Software Foundation; either version 2
6 # of the License, or (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program; if not, write to the Free Software Foundation,
15 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 #
17 # The Original Code is Copyright (C) 2006, Blender Foundation
18 # All rights reserved.
19 # ***** END GPL LICENSE BLOCK *****
20
21 # avoid noisy warnings
22 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
23   add_c_flag(
24     "-Wno-strict-prototypes"
25   )
26 endif()
27
28 # MSVC's inliner is not having a happy time with glewIsSupported
29 # causing this to be one of the most expensive things to build
30 # in blender. Optimize for size rather than speed sidesteps this
31 # problem, more details at
32 # https://developercommunity.visualstudio.com/content/problem/732941/slow-compilation-of-glewc-for-visual-studio-2019-x.html
33
34 if(MSVC)
35   add_c_flag("/Os")
36 endif()
37
38 set(INC
39   include
40 )
41
42 set(INC_SYS
43
44 )
45
46 if(UNIX)
47   list(APPEND INC_SYS
48     ${X11_X11_INCLUDE_PATH}
49   )
50 endif()
51
52 set(SRC
53   src/glew.c
54
55   include/GL/eglew.h
56   include/GL/glew.h
57   include/GL/glxew.h
58   include/GL/wglew.h
59 )
60
61 set(LIB
62 )
63
64 add_definitions(${GL_DEFINITIONS})
65
66 blender_add_lib(extern_glew "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")