Merge pull request #3059 from akien-mga/unbundle-glew2
CMake: Add option to use system GLEW 2.0+
This commit is contained in:
commit
84459c6086
@ -28,6 +28,7 @@ option(SERVER_ONLY "Create a server only (i.e. no graphics or sound)" OFF)
|
|||||||
option(USE_FRIBIDI "Support for right-to-left languages" ON)
|
option(USE_FRIBIDI "Support for right-to-left languages" ON)
|
||||||
option(CHECK_ASSETS "Check if assets are installed in ../stk-assets" ON)
|
option(CHECK_ASSETS "Check if assets are installed in ../stk-assets" ON)
|
||||||
option(USE_SYSTEM_ANGELSCRIPT "Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version." OFF)
|
option(USE_SYSTEM_ANGELSCRIPT "Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version." OFF)
|
||||||
|
option(USE_SYSTEM_GLEW "Use system GLEW instead of the built-in version, when available." ON)
|
||||||
|
|
||||||
CMAKE_DEPENDENT_OPTION(BUILD_RECORDER "Build opengl recorder" ON
|
CMAKE_DEPENDENT_OPTION(BUILD_RECORDER "Build opengl recorder" ON
|
||||||
"NOT SERVER_ONLY;NOT USE_GLES2;NOT APPLE" OFF)
|
"NOT SERVER_ONLY;NOT USE_GLES2;NOT APPLE" OFF)
|
||||||
@ -110,11 +111,24 @@ include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
|
|||||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
|
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
|
||||||
include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
|
include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
|
||||||
|
|
||||||
# Build glew library
|
# Find system GLEW library or build it if missing
|
||||||
if(NOT USE_GLES2 AND NOT SERVER_ONLY)
|
if(NOT USE_GLES2 AND NOT SERVER_ONLY)
|
||||||
add_definitions(-DGLEW_NO_GLU)
|
add_definitions(-DGLEW_NO_GLU)
|
||||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/glew")
|
if(USE_SYSTEM_GLEW)
|
||||||
include_directories("${PROJECT_SOURCE_DIR}/lib/glew/include")
|
find_package(PkgConfig)
|
||||||
|
if(PKGCONFIG_FOUND)
|
||||||
|
pkg_check_modules(GLEW glew>=2.0)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(GLEW_FOUND)
|
||||||
|
include_directories(${GLEW_INCLUDE_DIRS})
|
||||||
|
else()
|
||||||
|
# Fallback to built-in version silently
|
||||||
|
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/glew")
|
||||||
|
include_directories("${PROJECT_SOURCE_DIR}/lib/glew/include")
|
||||||
|
set(GLEW_LIBRARIES "glew")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC OR APPLE)
|
if(MSVC OR APPLE)
|
||||||
@ -421,7 +435,7 @@ target_link_libraries(supertuxkart
|
|||||||
|
|
||||||
if(NOT SERVER_ONLY)
|
if(NOT SERVER_ONLY)
|
||||||
if(NOT USE_GLES2)
|
if(NOT USE_GLES2)
|
||||||
target_link_libraries(supertuxkart ${OPENGL_gl_LIBRARY} glew graphics_utils)
|
target_link_libraries(supertuxkart ${OPENGL_gl_LIBRARY} ${GLEW_LIBRARIES} graphics_utils)
|
||||||
else()
|
else()
|
||||||
target_link_libraries(supertuxkart GLESv2)
|
target_link_libraries(supertuxkart GLESv2)
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
Reference in New Issue
Block a user