Skip to content

Commit

Permalink
permit link with the static GLEW library
Browse files Browse the repository at this point in the history
  • Loading branch information
JP Cimalando committed May 4, 2017
1 parent ef310e4 commit 95cb473
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 2 deletions.
20 changes: 20 additions & 0 deletions cmake/FindStaticGLEW.cmake
@@ -0,0 +1,20 @@
include(FindPackageHandleStandardArgs)
include(FindStaticLibrary)
include(SelectLibraryConfigurations)

find_package(GLEW)

if(GLEW_FOUND)
find_static_library(StaticGLEW_LIBRARY_RELEASE NAMES GLEW glew32 glew glew32s PATH_SUFFIXES lib64)
find_static_library(StaticGLEW_LIBRARY_DEBUG NAMES GLEWd glew32d glewd PATH_SUFFIXES lib64)
select_library_configurations(StaticGLEW)
endif()

find_package_handle_standard_args(StaticGLEW
REQUIRED_VARS StaticGLEW_LIBRARY)

if(StaticGLEW_FOUND)
set(StaticGLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIRS})
set(StaticGLEW_LIBRARIES "${StaticGLEW_LIBRARY}")
set(StaticGLEW_DEFINITIONS "GLEW_STATIC=1")
endif()
11 changes: 11 additions & 0 deletions cmake/FindStaticLibrary.cmake
@@ -0,0 +1,11 @@
macro(find_static_library)
set(_orig_CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES}")
if (WIN32)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".a")
else()
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
endif()
find_library(${ARGN})
set(CMAKE_FIND_LIBRARY_SUFFIXES "${_orig_CMAKE_FIND_LIBRARY_SUFFIXES}")
unset(_orig_CMAKE_FIND_LIBRARY_SUFFIXES)
endmacro()
9 changes: 8 additions & 1 deletion cmake/LV2Project.cmake
Expand Up @@ -80,9 +80,16 @@ endmacro()
macro(add_lv2_glui name)
include(TargetPugl)
find_package(GLEW REQUIRED)
find_package(StaticGLEW)
add_lv2_ui(${name} ${ARGN})
target_include_directories(${name} PRIVATE ${GLEW_INCLUDE_DIRS})
target_link_libraries(${name} pugl ${GLEW_LIBRARIES})
if(StaticGLEW_FOUND)
target_compile_definitions(${name} PRIVATE ${StaticGLEW_DEFINITIONS})
target_link_libraries(${name} ${StaticGLEW_LIBRARIES})
else()
target_link_libraries(${name} ${GLEW_LIBRARIES})
endif()
target_link_libraries(${name} pugl)
endmacro()

macro(add_lv2_nvgui name)
Expand Down
8 changes: 7 additions & 1 deletion cmake/TargetNanoVG.cmake
Expand Up @@ -36,9 +36,15 @@ endif()

if(NANOVG_USE_GLEW)
find_package(GLEW REQUIRED)
find_package(StaticGLEW)
target_compile_definitions(nanovg PRIVATE "NANOVG_GLEW=1")
target_include_directories(nanovg PRIVATE ${GLEW_INCLUDE_DIRS})
target_link_libraries(nanovg ${GLEW_LIBRARIES})
if(StaticGLEW_FOUND)
target_compile_definitions(nanovg PRIVATE ${StaticGLEW_DEFINITIONS})
target_link_libraries(nanovg ${StaticGLEW_LIBRARIES})
else()
target_link_libraries(nanovg ${GLEW_LIBRARIES})
endif()
endif()

set_target_properties(nanovg PROPERTIES
Expand Down

0 comments on commit 95cb473

Please sign in to comment.