forked from bjornblissing/osgoculusviewer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
77 lines (64 loc) · 2.51 KB
/
CMakeLists.txt
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
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
SET(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT TRUE)
SET(CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES FALSE)
PROJECT(OsgOculusViewer)
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# Show relative paths options
OPTION(CMAKE_USE_RELATIVE_PATHS "If true, cmake will use relative paths in makefiles and projects." ON)
IF (WIN32)
# Where to find OSG directory
SET(OSG_THIRD_PARTY_DIR CACHE PATH "Path where to find the osg third party dependencies")
IF(NOT OSG_THIRD_PARTY_DIR)
MESSAGE(FATAL_ERROR "Error: OpenSceneGraph 3rd Party Directory not found.")
ENDIF(NOT OSG_THIRD_PARTY_DIR)
ENDIF(WIN32)
#Solution
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
#######################################
# Library files
#######################################
FIND_PACKAGE( OpenGL REQUIRED )
FIND_PACKAGE( OpenSceneGraph REQUIRED osgViewer osgDB osgGA)
FIND_PACKAGE( OculusSDK REQUIRED )
INCLUDE_DIRECTORIES(BEFORE
${OPENGL_INCLUDE_DIR}
${OPENSCENEGRAPH_INCLUDE_DIR}
${OCULUS_SDK_INCLUDE_DIRS}
)
###############################################################################
# Compiler Options
################################################################################
IF(WIN32)
# Make sure we use minimal windows.h library without min max macros
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D \"WIN32_LEAN_AND_MEAN\"")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D \"NOMINMAX\"")
# Use Link Time Code Generation
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LTCG")
IF(MSVC80)
# Detech 64-bit portability Issues
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wp64")
ENDIF(MSVC80)
OPTION(MULTI_PROCESSOR_COMPILATION "Use multiple processors when compiling" ON)
IF(MULTI_PROCESSOR_COMPILATION)
# Set multi processor build
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
ENDIF(MULTI_PROCESSOR_COMPILATION)
# Set warnings to level 4
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4")
IF (WARNINGS_AS_ERRORS)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
ENDIF (WARNINGS_AS_ERRORS)
ENDIF(WIN32)
IF(UNIX)
IF(CMAKE_COMPILER_IS_GNUCC)
ADD_DEFINITIONS(-Wall -ansi -pedantic -Wextra)
IF (WARNINGS_AS_ERRORS)
ADD_DEFINITIONS(-Werror)
ENDIF(WARNINGS_AS_ERRORS)
ENDIF(CMAKE_COMPILER_IS_GNUCC)
ENDIF(UNIX)
###############################################################################
# Compile subdirectory
################################################################################
ADD_SUBDIRECTORY(src)