summaryrefslogtreecommitdiffstats
path: root/Tools/AnvilStats/CMakeLists.txt
blob: 557a4c17a607b0d235c46b3b06ccda29ea187210 (plain) (blame)
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144

cmake_minimum_required (VERSION 2.8.3)

project (AnvilStats)

include(../../SetFlags.cmake)

set_flags()
set_lib_flags()


# Set include paths to the used libraries:
include_directories("../../lib")
include_directories("../../src")



function(flatten_files arg1)
	set(res "")
	foreach(f ${${arg1}})
		get_filename_component(f ${f} ABSOLUTE)
		list(APPEND res ${f})
	endforeach()
	set(${arg1} "${res}" PARENT_SCOPE)
endfunction()

add_subdirectory(../../lib/zlib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/lib/zlib)

set_exe_flags()

# Include the shared files:
set(SHARED_SRC
	../../src/ByteBuffer.cpp
	../../src/StringUtils.cpp
	../../src/LoggerListeners.cpp
	../../src/Logger.cpp
	../../src/WorldStorage/FastNBT.cpp
	../BiomeVisualiser/BiomeColors.cpp
)

set(SHARED_HDR
	../../src/ByteBuffer.h
	../../src/StringUtils.h
	../../src/LoggerListeners.h
	../../src/Logger.h
	../../src/WorldStorage/FastNBT.h
	../BiomeVisualiser/BiomeColors.h
)

set(SHARED_OSS_SRC
	../../src/OSSupport/CriticalSection.cpp
	../../src/OSSupport/Event.cpp
	../../src/OSSupport/File.cpp
	../../src/OSSupport/GZipFile.cpp
	../../src/OSSupport/IsThread.cpp
	../../src/OSSupport/Timer.cpp
)

set(SHARED_OSS_HDR
	../../src/OSSupport/CriticalSection.h
	../../src/OSSupport/Event.h
	../../src/OSSupport/File.h
	../../src/OSSupport/GZipFile.h
	../../src/OSSupport/IsThread.h
	../../src/OSSupport/Timer.h
)

flatten_files(SHARED_SRC)
flatten_files(SHARED_HDR)
flatten_files(SHARED_OSS_SRC)
flatten_files(SHARED_OSS_HDR)
source_group("Shared" FILES ${SHARED_SRC} ${SHARED_HDR})
source_group("Shared\\OSSupport" FILES ${SHARED_OSS_SRC} ${SHARED_OSS_HDR})



# Include the main source files:
set(SOURCES
	AnvilStats.cpp
	BiomeMap.cpp
	ChunkExtract.cpp
	Globals.cpp
	HeightBiomeMap.cpp
	HeightMap.cpp
	ImageComposingCallback.cpp
	Processor.cpp
	SpringStats.cpp
	Statistics.cpp
	Utils.cpp
)

set(HEADERS
	BiomeMap.h
	Callback.h
	ChunkExtract.h
	Globals.h
	HeightBiomeMap.h
	HeightMap.h
	ImageComposingCallback.h
	Processor.h
	SpringStats.h
	Statistics.h
	Utils.h

	AnvilStats.txt
)

source_group("" FILES ${SOURCES} ${HEADERS})

add_definitions(-DNBT_RESERVE_SIZE=10000)

add_executable(AnvilStats
	${SOURCES}
	${HEADERS}
	${SHARED_SRC}
	${SHARED_HDR}
	${SHARED_OSS_SRC}
	${SHARED_OSS_HDR}
)


target_link_libraries(AnvilStats zlib)





# Under MSVC we need to enlarge the default stack size for the executable:
if (MSVC)
	get_target_property(TEMP AnvilStats LINK_FLAGS)
	if (TEMP STREQUAL "TEMP-NOTFOUND")
	  SET(TEMP "") # set to empty string
		message("LINKER_FLAGS not found")
	else ()
	  SET(TEMP "${TEMP} ") # a space to cleanly separate from existing content
		message("LINKER_FLAGS: ${LINKER_FLAGS}")
	endif ()
	# append our values
	SET(TEMP "${TEMP}/STACK:16777216")
	set_target_properties(AnvilStats PROPERTIES LINK_FLAGS ${TEMP})
endif ()