Add sigle-context/multi-context version build option

This commit is contained in:
Gyusun Yeom 2015-10-07 14:21:05 +09:00
parent 18197fd0ec
commit 19bd2de9e3

View File

@ -11,6 +11,8 @@ SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
OPTION( glew-cmake_BUILD_SHARED "Build the shared glew library" ON)
OPTION( glew-cmake_BUILD_STATIC "Build the static glew library" ON)
OPTION( glew-cmake_BUILD_SINGLE_CONTEXT "Build the single context glew library" ON )
OPTION( glew-cmake_BUILD_MULTI_CONTEXT "Build the multi context glew library" ON )
INCLUDE_DIRECTORIES( ${INCLUDE_DIR} )
@ -40,26 +42,54 @@ ELSE( )
ENDIF( )
IF ( glew-cmake_BUILD_STATIC )
ADD_LIBRARY( libglew_static STATIC ${LIBGLEW_SRCS} )
IF ( glew-cmake_BUILD_SINGLE_CONTEXT )
ADD_LIBRARY( libglew_static STATIC ${LIBGLEW_SRCS} )
SET_PROPERTY( TARGET libglew_static PROPERTY ARCHIVE_OUTPUT_NAME "glew" )
SET_PROPERTY( TARGET libglew_static PROPERTY DEBUG_POSTFIX d )
INSTALL( TARGETS libglew_static DESTINATION lib )
TARGET_LINK_LIBRARIES( libglew_static ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
SET_TARGET_PROPERTIES( libglew_static PROPERTIES
ARCHIVE_OUTPUT_NAME "glew"
DEBUG_POSTFIX d )
INSTALL( TARGETS libglew_static DESTINATION lib )
TARGET_LINK_LIBRARIES( libglew_static ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
ENDIF ( )
IF ( glew-cmake_BUILD_MULTI_CONTEXT )
ADD_LIBRARY( libglewmx_static STATIC ${LIBGLEW_SRCS} )
SET_TARGET_PROPERTIES( libglewmx_static PROPERTIES
ARCHIVE_OUTPUT_NAME "glewmx"
DEBUG_POSTFIX d )
INSTALL( TARGETS libglewmx_static DESTINATION lib )
TARGET_COMPILE_DEFINITIONS( libglewmx_static INTERFACE GLEW_MX)
TARGET_LINK_LIBRARIES( libglewmx_static ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
ENDIF ( )
ENDIF ( )
IF ( glew-cmake_BUILD_SHARED )
ADD_LIBRARY( libglew_shared SHARED ${LIBGLEW_SRCS} )
IF ( glew-cmake_BUILD_SINGLE_CONTEXT )
ADD_LIBRARY( libglew_shared SHARED ${LIBGLEW_SRCS} )
IF( WIN32 )
SET_PROPERTY( TARGET libglew_shared PROPERTY RUNTIME_OUTPUT_NAME "glew" )
ELSE( )
SET_PROPERTY( TARGET libglew_shared PROPERTY LIBRARY_OUTPUT_NAME "glew" )
ENDIF( )
SET_PROPERTY( TARGET libglew_shared PROPERTY DEBUG_POSTFIX d )
SET_TARGET_PROPERTIES( libglew_shared PROPERTIES
RUNTIME_OUTPUT_NAME "glew"
LIBRARY_OUTPUT_NAME "glew"
DEBUG_POSTFIX d )
TARGET_LINK_LIBRARIES( libglew_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
INSTALL( TARGETS libglew_shared DESTINATION lib )
TARGET_LINK_LIBRARIES( libglew_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
INSTALL( TARGETS libglew_shared DESTINATION lib )
ENDIF ( )
IF ( glew-cmake_BUILD_MULTI_CONTEXT )
ADD_LIBRARY( libglewmx_shared SHARED ${LIBGLEW_SRCS} )
SET_TARGET_PROPERTIES( libglewmx_shared PROPERTIES
RUNTIME_OUTPUT_NAME "glewmx"
LIBRARY_OUTPUT_NAME "glewmx"
DEBUG_POSTFIX d )
TARGET_LINK_LIBRARIES( libglewmx_shared ${GL_LIBRARY} ${PLATFORM_SPECIFIC_LIBRARIES} )
INSTALL( TARGETS libglewmx_shared DESTINATION lib )
TARGET_COMPILE_DEFINITIONS( libglewmx_shared INTERFACE GLEW_MX)
ENDIF ( )
ENDIF ( )
FILE( GLOB PUBLIC_HEADERS "include/GL/*.h" )