mirror of
https://github.com/Perlmint/glew-cmake.git
synced 2024-11-11 09:33:49 +00:00
62 lines
1.8 KiB
CMake
62 lines
1.8 KiB
CMake
CMAKE_MINIMUM_REQUIRED( VERSION 2.6 )
|
|
PROJECT( "glew" )
|
|
|
|
SET( SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src )
|
|
SET( INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include )
|
|
SET( RC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build )
|
|
|
|
SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib )
|
|
SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib )
|
|
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin )
|
|
|
|
INCLUDE_DIRECTORIES( ${INCLUDE_DIR} )
|
|
|
|
SET( LIBGLEW_SRCS ${SRC_DIR}/glew.c )
|
|
|
|
IF( WIN32 )
|
|
ADD_DEFINITIONS( -DWIN32_MEAN_AND_LEAN -DVC_EXTRALEAN -DGLEW_BUILD )
|
|
ENDIF( )
|
|
|
|
# MSVC11
|
|
IF( MSVC AND NOT MSVC11 )
|
|
LIST( APPEND LIBGLEW_SRCS ${RC_DIR}/glew.rc )
|
|
ENDIF( )
|
|
|
|
IF( NOT USE_GLU )
|
|
ADD_DEFINITIONS( -DGLEW_NO_GLU )
|
|
ENDIF( )
|
|
|
|
ADD_LIBRARY( libglew_static STATIC ${LIBGLEW_SRCS} )
|
|
ADD_LIBRARY( libglew_shared SHARED ${LIBGLEW_SRCS} )
|
|
|
|
SET_PROPERTY( TARGET libglew_static PROPERTY ARCHIVE_OUTPUT_NAME "glew" )
|
|
IF( WIN32 )
|
|
SET_PROPERTY( TARGET libglew_shared PROPERTY RUNTIME_OUTPUT_NAME "glew" )
|
|
TARGET_LINK_LIBRARIES( libglew_shared opengl32 )
|
|
ELSE( )
|
|
SET_PROPERTY( TARGET libglew_shared PROPERTY LIBRARY_OUTPUT_NAME "glew" )
|
|
ENDIF( )
|
|
|
|
IF( ${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR} AND NOT ONLY_LIBS )
|
|
SET( GLEWINFO_SRCS ${SRC_DIR}/glewinfo.c )
|
|
SET( VISUALINFO_SRCS ${SRC_DIR}/visualinfo.c )
|
|
IF( MSVS )
|
|
LIST( APPEND GLEWINFO_SRCS ${RC_DIR}/glewinfo.rc )
|
|
LIST( APPEND VISUALINFO_SRCS ${RC_DIR}/visualinfo.rc )
|
|
ENDIF( )
|
|
ADD_EXECUTABLE( glewinfo ${GLEWINFO_SRCS} )
|
|
ADD_EXECUTABLE( visualinfo ${VISUALINFO_SRCS} )
|
|
|
|
IF( UNIX )
|
|
SET( GL_LIBRARY GL )
|
|
ELSEIF( APPLE )
|
|
FIND_LIBRARY( GL_LIBRARY OpenGL )
|
|
ELSEIF( WIN32 )
|
|
SET( GL_LIBRARY opengl32 )
|
|
ENDIF( )
|
|
|
|
TARGET_LINK_LIBRARIES( glewinfo libglew_static ${GL_LIBRARY} )
|
|
TARGET_LINK_LIBRARIES( visualinfo libglew_static ${GL_LIBRARY} )
|
|
|
|
ENDIF( )
|