summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
blob: 5b807e93416d61a9af14c449b5dccf1dd97fe62d (plain)
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
cmake_minimum_required(VERSION 2.8)

include (CheckCCompilerFlag)
include (CheckCXXCompilerFlag)

project (glean)

find_package(OpenGL REQUIRED)
find_package(TIFF)
find_package(GLUT)

if (NOT MSVC)
	check_c_compiler_flag ("-Wall" C_COMPILER_FLAG_WALL)
	if (C_COMPILER_FLAG_WALL)
		set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
	endif (C_COMPILER_FLAG_WALL)
	check_cxx_compiler_flag("-Wall" CXX_COMPILER_FLAG_WALL)
	if (CXX_COMPILER_FLAG_WALL)
		set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
	endif (CXX_COMPILER_FLAG_WALL)
else ()
	# -Wall or (/Wall) is actually supported by MSVC and would be detected
	# by CHECK_C_COMPILER_FLAG above, but is very pedantic, causing
	# thousand of warnings when including windows.h.
	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -W4")
	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -W4")
	
	add_definitions (-D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS)
	add_definitions (-D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS)
endif ()

set (GLEXT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/glext)

if (NOT TIFF_FOUND)
	set (TIFF_INCLUDE_DIR ${CMAKE_BINARY_DIR}/tiff ${CMAKE_SOURCE_DIR}/tiff)
	set (TIFF_LIBRARY bundled_tiff)
	add_subdirectory (tiff)
endif ()

if (WIN32)
	add_definitions (-D__WIN__ -D__MS__)
elseif (APPLE)
	add_definitions (-D__AGL__ -D__UNIX__)
	find_library (CARBON_LIBRARY Carbon)
	set (CMAKE_OSX_ARCHITECTURES i386)
else ()
	add_definitions (-D__X11__ -D__UNIX__)
endif ()

include_directories (
	libs/dsurf
	libs/image
	libs/lex
	libs/rand
	libs/stats
	libs/timer
	glh
	${GLEXT_INCLUDE_DIR}
	${OPENGL_INCLUDE_DIR}
	${TIFF_INCLUDE_DIR}
)

add_subdirectory(libs)
add_subdirectory(glean)
add_subdirectory(tools)