1 2 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