| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 
 |  
cmake_minimum_required(VERSION 2.8)
 
project(SEED CXX)
 
 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g -fPIC")
set(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} -fPIC")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
 
file(
    GLOB_RECURSE
    GRAPHICS_SRC
    ${CMAKE_CURRENT_SOURCE_DIR}/src/Seed/Graphics/*
    ${CMAKE_CURRENT_SOURCE_DIR}/include/Seed/Graphics/*
    ${CMAKE_CURRENT_SOURCE_DIR}/ressources/*
)
 
#Seed's graphics library
add_library(
    Seed-Graphics
 
    SHARED
    
    ${GRAPHICS_SRC}
)
 
include(${CMAKE_CURRENT_SOURCE_DIR}/../examples/GraphicsTest)
 
#INCLUDES
#include seed-graphics include
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
# include Materials
include_directories(ressources/Materials)
# GLM include directories
include_directories(lib-required/glm)
# Boost include directories
include_directories(lib-required/boost)
# AntTweakBar include directories
include_directories(lib-required/antTweakBar/include)
# Assimp include directories
include_directories(lib-required/assimp/include)
# Glew include directories
include_directories(lib-required/glew/include)
# GLFW include directories
include_directories(lib-required/glfw/include)
 
# add a target to generate API documentation with Doxygen
find_package(Doxygen)
if(DOXYGEN_FOUND)
	configure_file(
		${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in 
		${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY
	)
 
	add_custom_target(
		doc
		${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
		WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
		COMMENT "Generating API documentation with Doxygen" VERBATIM
	)
endif(DOXYGEN_FOUND)
 
if(WIN32)
	find_package(OpenGL REQUIRED)
	target_link_libraries(Seed-Graphics ${CMAKE_CURRENT_SOURCE_DIR}/lib-required/assimp/lib/assimp_release-dll_win32/assimp.lib)
	target_link_libraries(Seed-Graphics ${CMAKE_CURRENT_SOURCE_DIR}/lib-required/glew/lib/Release/Win32/glew32.lib)
	target_link_libraries(Seed-Graphics ${CMAKE_CURRENT_SOURCE_DIR}/lib-required/glfw/lib-vc2013/glfw3.lib)
	target_link_libraries(Seed-Graphics ${CMAKE_CURRENT_SOURCE_DIR}/lib-required/glfw/lib-vc2013/glfw3dll.lib)
	target_link_libraries(Seed-Graphics ${CMAKE_CURRENT_SOURCE_DIR}/lib-required/antTweakBar/lib/AntTweakBar.lib)
	target_link_libraries(Seed-Graphics ${CMAKE_CURRENT_SOURCE_DIR}/lib-required/boost/lib/WIN_32/libboost_filesystem-vc120-mt-gd-1_59.lib)
	target_link_libraries(Seed-Graphics ${OPENGL_INCLUDE_DIRS})
else(WIN32)
	#GLEW package
	find_package(GLEW REQUIRED)
	if (GLEW_FOUND)
	    include_directories($(GLEW_INCLUDE_DIRS))
	    link_libraries(${GLEW_LIBRARIES})
	endif()
 
	#GLFW package
	find_package(PkgConfig REQUIRED)
	pkg_search_module(GLFW REQUIRED glfw3)
	if(GLFW_FOUND)
		include_directories(${GLFW_INCLUDE_DIRS})
		link_libraries(${GLFW_LIBRARIES})
	endif()
 
	#ASSIMP PACKAGE
	find_package(PkgConfig REQUIRED)
	pkg_search_module(ASSIMP REQUIRED assimp)
	if(ASSIMP_FOUND)
		include_directories(${ASSIMP_INCLUDE_DIRS})
		link_libraries(${ASSIMP_LIBRARIES})
	endif()
 
	#anttweakbar
	#target_link_libraries(Seed-Graphics ${CMAKE_CURRENT_SOURCE_DIR}/lib-required/antTweakBar/lib/Linux/libAntTweakBar.so.1)
 
	#BOOST
	target_link_libraries(Seed-Graphics ${CMAKE_CURRENT_SOURCE_DIR}/lib-required/boost/lib/Linux/libboost_filesystem.so)
endif(WIN32) | 
Partager