-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
79 lines (61 loc) · 2.61 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
78
#
# OpenDaVINCI.
#
# This software is open source. Please see COPYING and AUTHORS for further information.
#
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
PROJECT (OPENDAVINCI)
# Set compile flags.
IF(UNIX)
SET (CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-fPIC")
SET (CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-Wno-deprecated -Wall -Werror -Wextra -Wfloat-equal -Wshadow -Wpointer-arith -Wwrite-strings -Wpacked -pipe")
# Remove "-ansi" flag for clang on Darwin.
IF((NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") AND (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") AND (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "NetBSD"))
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi")
ENDIF()
# Additionally, test for Effective C++ warnings except on OpenBSD.
IF(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wmissing-format-attribute -Wredundant-decls -Wno-error=effc++ -Weffc++")
ENDIF(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
ENDIF(UNIX)
# Set the search path for .cmake files.
SET (CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/_buildtools" ${CMAKE_MODULE_PATH})
######################################################################################
INCLUDE (FindRequiredLibraries)
######################################################################################
# Find CxxTest.
SET (CXXTEST_USE_PYTHON true)
IF(UNIX)
SET (CXXTEST_PYTHON_INTERPRETER "python")
IF("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
SET (CXXTEST_PYTHON_INTERPRETER "/usr/local/bin/python")
ELSE()
SET (CXXTEST_PYTHON_INTERPRETER "python")
ENDIF()
ELSE()
SET (CXXTEST_PYTHON_INTERPRETER "python")
ENDIF()
SET (CXXTEST_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/_buildtools/cxxtest")
FIND_PACKAGE(CxxTest)
IF(CXXTEST_FOUND)
INCLUDE_DIRECTORIES(${CXXTEST_INCLUDE_DIR})
ENABLE_TESTING()
ENDIF(CXXTEST_FOUND)
######################################################################################
# Add subdirectories.
ADD_SUBDIRECTORY (3rdParty)
ADD_SUBDIRECTORY (libopendavinci)
ADD_SUBDIRECTORY (libdata)
SET (DATA_LIBS data)
IF(UNIX)
# Don't build the graphical environment and the vehiclecontext on Darwin.
IF((NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") AND (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") AND (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "NetBSD") AND (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD"))
ADD_SUBDIRECTORY (hesperia)
ADD_SUBDIRECTORY (libvehiclecontext)
ENDIF()
ENDIF(UNIX)
ADD_SUBDIRECTORY (supercomponent)
ADD_SUBDIRECTORY (tools)
ADD_SUBDIRECTORY (examples)
# Apps contains msv, carolocup2013, ...
ADD_SUBDIRECTORY (apps)