mirror of
				https://github.com/Perlmint/glew-cmake.git
				synced 2025-11-04 06:15:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.5 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 )
 | 
						|
 | 
						|
OPTION( glew-cmake_BUILD_SHARED "Build the shared glew library" ON)
 | 
						|
OPTION( glew-cmake_BUILD_STATIC "Build the static glew library" ON)
 | 
						|
 | 
						|
INCLUDE_DIRECTORIES( ${INCLUDE_DIR} )
 | 
						|
 | 
						|
SET( LIBGLEW_SRCS ${SRC_DIR}/glew.c )
 | 
						|
 | 
						|
IF( WIN32 )
 | 
						|
	ADD_DEFINITIONS( -DWIN32_MEAN_AND_LEAN -DVC_EXTRALEAN -DGLEW_BUILD -D_CRT_SECURE_NO_WARNINGS )
 | 
						|
ENDIF(  )
 | 
						|
 | 
						|
# MSVC11 
 | 
						|
IF( MSVC AND NOT (MSVC11 OR MSVC12))
 | 
						|
	LIST( APPEND LIBGLEW_SRCS ${RC_DIR}/glew.rc )
 | 
						|
ENDIF(  )
 | 
						|
 | 
						|
IF( NOT USE_GLU )
 | 
						|
	ADD_DEFINITIONS( -DGLEW_NO_GLU )
 | 
						|
ENDIF(  )
 | 
						|
 | 
						|
IF ( glew-cmake_BUILD_STATIC )
 | 
						|
	ADD_LIBRARY( libglew_static STATIC ${LIBGLEW_SRCS} )
 | 
						|
ENDIF (  )
 | 
						|
IF ( glew-cmake_BUILD_SHARED )
 | 
						|
	ADD_LIBRARY( libglew_shared SHARED ${LIBGLEW_SRCS} )
 | 
						|
ENDIF (  )
 | 
						|
 | 
						|
IF( WIN32 )
 | 
						|
	SET( GL_LIBRARY opengl32 )
 | 
						|
ELSEIF( APPLE )
 | 
						|
	FIND_LIBRARY( GL_LIBRARY OpenGL )
 | 
						|
ELSE(  )
 | 
						|
	SET( GL_LIBRARY GL )
 | 
						|
ENDIF(  )
 | 
						|
 | 
						|
IF ( glew-cmake_BUILD_STATIC )
 | 
						|
	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 )
 | 
						|
ENDIF (  )
 | 
						|
 | 
						|
IF ( glew-cmake_BUILD_SHARED )
 | 
						|
	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 )
 | 
						|
 | 
						|
	TARGET_LINK_LIBRARIES( libglew_shared ${GL_LIBRARY} )
 | 
						|
	INSTALL( TARGETS libglew_shared DESTINATION lib )
 | 
						|
ENDIF (  )
 | 
						|
 | 
						|
FILE(GLOB PUBLIC_HEADERS "include/GL/*.h")
 | 
						|
INSTALL(FILES ${PUBLIC_HEADERS} DESTINATION include/GL/)
 | 
						|
 | 
						|
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 ( glew-cmake_BUILD_STATIC )
 | 
						|
		TARGET_LINK_LIBRARIES( glewinfo libglew_static ${GL_LIBRARY} )
 | 
						|
		TARGET_LINK_LIBRARIES( visualinfo libglew_static ${GL_LIBRARY} )
 | 
						|
	ENDIF (  )
 | 
						|
 | 
						|
	INSTALL( TARGETS glewinfo visualinfo DESTINATION bin )
 | 
						|
ENDIF(  )
 |