-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
86 lines (60 loc) · 2.33 KB
/
Copy pathCMakeLists.txt
File metadata and controls
86 lines (60 loc) · 2.33 KB
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
cmake_minimum_required(VERSION 3.0)
project(path_tracer)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
# add_definitions(-g)
# add_definitions(-O0)
# FIND_PACKAGE( OpenMP REQUIRED)
# if(OPENMP_FOUND)
# message("OPENMP FOUND")
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
# endif()
IF(APPLE)
FIND_LIBRARY(COREFOUNDATION_LIBRARY NAMES CoreFoundation)
FIND_LIBRARY(OPENGL_LIBRARY NAMES OpenGL)
ENDIF(APPLE)
# Setting some utilities variables
set(EXTERNAL_LIBRARIES_DIR ${CMAKE_CURRENT_LIST_DIR}/externals)
set(RAPIDXML_INCLUDE_DIR ${EXTERNAL_LIBRARIES_DIR}/rapidxml)
include_directories(${RAPIDXML_INCLUDE_DIR})
# Building of SOIL2 library
message(">>--> Add SOIL2 target")
set(SOIL2_DEPS -Wall -lglut -lGL -lGLU)
IF(APPLE)
set(SOIL2_DEPS ${OPENGL_LIBRARY} ${COREFOUNDATION_LIBRARY})
ENDIF(APPLE)
set(SOIL2_DIR ${EXTERNAL_LIBRARIES_DIR}/SOIL2)
set(SOIL2_INCLUDE_DIR ${SOIL2_DIR}/incs)
set(SOIL2_LIB ${SOIL2_DIR}/libSOIL2${CMAKE_STATIC_LIBRARY_SUFFIX} ${SOIL2_DEPS})
add_custom_target(
SOIL2
COMMAND make
WORKING_DIRECTORY ${SOIL2_DIR}
)
include_directories(${SOIL2_INCLUDE_DIR})
message("<--<< Added SOIL2 target")
# Building of assimp library
message(">>--> Add Assimp target")
set(ASSIMP_DIR ${EXTERNAL_LIBRARIES_DIR}/assimp)
set(ASSIMP_BUILD_DIR ${ASSIMP_DIR}/build)
set(ASSIMP_INCLUDE_DIRS ${ASSIMP_DIR}/include ${ASSIMP_BUILD_DIR}/include)
set(ASSIMP_LIB ${ASSIMP_BUILD_DIR}/code/libassimp${CMAKE_SHARED_LIBRARY_SUFFIX})
set(BUILD_SHARED_LIBS ON CACHE BOOL "Enabled Assimb shared libs build" FORCE)
set(ASSIMP_BUILD_TESTS OFF CACHE BOOL "Disabled Assimp tests build" FORCE)
set(ASSIMP_BUILD_ASSIMP_TOOLS OFF CACHE BOOL "Disabled Assimp tools build" FORCE)
add_subdirectory(${ASSIMP_DIR} ${ASSIMP_BUILD_DIR})
add_custom_target(
ASSIMP
COMMAND make -j4
WORKING_DIRECTORY ${ASSIMP_BUILD_DIR}
)
include_directories(${ASSIMP_INCLUDE_DIRS})
message("<--<< Added Assimp target")
# Building of core target
message(">>--> Add Core target")
add_subdirectory(core)
add_executable(${CMAKE_PROJECT_NAME} main.cpp)
target_link_libraries(${CMAKE_PROJECT_NAME} WORLD ${ASSIMP_LIB} ${SOIL2_LIB})
add_dependencies(${CMAKE_PROJECT_NAME} SOIL2 ASSIMP)
message("<--<< Added Core target")