/
CMakeLists.txt
172 lines (130 loc) · 4.62 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
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# This is the CMake definition file for DNT usage.
#
# Usually you should just call:
#
# cmake .
#
# To create the needed makefiles for DNT compilation.
#
# You could also set some debug options with:
# -DDEBUG_ASTAR=ON
# -DDNT_DEBUG_PENDING_ACTION=ON
# -DDNT_DEBUG_SCRIPTS=ON
#
# If you desire to create the OSX dnt.app bundle application, you should define:
# -DCREATE_BUNDLE=ON
#
# You could also create a system specific package with CPack by defining:
# -DCREATE_PACKAGE=ON
cmake_minimum_required(VERSION 2.8)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG=1 -D_DEBUG=1")
set(PACKAGE dnt)
project(dnt)
# Set Version number
set(VERSION_MAJOR 0)
set(VERSION_MINOR 13)
set(VERSION_PATCH 0)
if(${VERSION_PATCH})
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
else(${VERSION_PATCH})
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
endif(${VERSION_PATCH})
# Set directories
set(DATADIR ${CMAKE_INSTALL_PREFIX}/share)
set(LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale)
set(LOCALE_DIR share/locale)
set(INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin)
set(BIN_DIR "${CMAKE_SOURCE_DIR}/bin")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${BIN_DIR})
project(dnt)
# Some Options
option(DEBUG_ASTAR "Enable A* Visual Debug" OFF)
option(DNT_DEBUG_PENDING_ACTION "Enable Pending Action Debug Log" OFF)
option(DNT_DEBUG_SCRIPTS "Enable DNT Script Language Debug Log" OFF)
option(CREATE_BUNDLE "Create OSX Bundle Application" OFF)
option(CREATE_PACKAGE "Create package using CPack" OFF)
# Some compiler options
if(UNIX)
add_definitions(-Wall -g)
endif(UNIX)
# First, try to find required libraries
FIND_PACKAGE(OGRE REQUIRED)
include_directories(${OGRE_INCLUDE_DIR})
include_directories(${OGRE_INCLUDE_DIR}/Depracated/)
include_directories(${OGRE_INCLUDE_DIR}/Hlms/Common/)
FIND_PACKAGE(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR})
FIND_PACKAGE(SDL2 REQUIRED)
include_directories(${SDL2_INCLUDE_DIR})
FIND_PACKAGE(SDL2_image REQUIRED)
include_directories(${SDL2_IMAGE_INCLUDE_DIR})
FIND_PACKAGE(OpenAL REQUIRED)
include_directories(${OPENAL_INCLUDE_DIR})
FIND_PACKAGE(Ogg REQUIRED)
include_directories(${OGG_INCLUDE_DIR})
FIND_PACKAGE(Vorbis REQUIRED)
include_directories(${VORBIS_INCLUDE_DIR})
FIND_PACKAGE(Vorbisfile REQUIRED)
include_directories(${VORBISFILE_INCLUDE_DIR})
FIND_PACKAGE(Freetype REQUIRED)
include_directories(${FREETYPE_INCLUDE_DIRS})
FIND_PACKAGE(Kobold REQUIRED)
include_directories(${KOBOLD_INCLUDE_DIR})
FIND_PACKAGE(Kosound REQUIRED)
include_directories(${KOSOUND_INCLUDE_DIR})
FIND_PACKAGE(Goblin REQUIRED)
include_directories(${GOBLIN_INCLUDE_DIR})
FIND_PACKAGE(Farso REQUIRED)
include_directories(${FARSO_INCLUDE_DIR})
include_directories(${FARSO_INCLUDE_DIR}/farso)
FIND_PACKAGE(AngelScript REQUIRED)
include_directories(${ANGELSCRIPT_INCLUDE_DIR})
FIND_PACKAGE(Gettext)
IF(GETTEXT_FOUND)
set(ENABLE_NLS 1)
ELSE(GETTEXT_FOUND)
set(ENABLE_NLS 0)
ENDIF(GETTEXT_FOUND)
FIND_PACKAGE(Libintl)
include_directories(${LIBINTL_INCLUDE_DIR})
if(NOT ${LIBINTL_LIB_FOUND})
set(LIBINTL_LIBRARIES "")
endif(NOT ${LIBINTL_LIB_FOUND})
# include the ./src as default too
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR})
include_directories(${CMAKE_BINARY_DIR}/src)
# Include the sources
include(sources.cmake)
configure_file("./src/dntconfig.h.in" "./src/dntconfig.h")
# Make Libraries
add_library(dntlib ${DNT_LIB_SOURCES} ${DNT_LIB_HEADERS} )
set(LIBRARIES ${FARSO_LIBRARY} ${FARSO_OGRE3D_LIBRARY}
${GOBLIN_LIBRARY} ${KOSOUND_LIBRARY}
${KOBOLD_LIBRARY} ${KOBOLD_OGRE3D_LIBRARY} ${OGRE_LIBRARIES}
${OGRE_Overlay_LIBRARIES}
${OGRE_HlmsUnlit_LIBRARIES} ${OGRE_HlmsPbs_LIBRARIES}
${ANGELSCRIPT_LIBRARY}
${FREETYPE_LIBRARIES} ${SDL2_IMAGE_LIBRARY} ${SDL2_LIBRARY}
${OPENAL_LIBRARY} ${VORBISFILE_LIBRARY} ${VORBIS_LIBRARY}
${OGG_LIBRARY} m ${OPENGL_LIBRARIES} ${LIBINTL_LIBRARIES} pthread
)
# Make Binaries
add_executable(dnt WIN32 ${DNT_SOURCES} ${DNT_HEADERS} )
target_link_libraries(dnt dntlib ${LIBRARIES})
add_executable(dntMapEditor WIN32 ${DNT_MAP_EDITOR_SOURCES}
${DNT_MAP_EDITOR_HEADERS} )
target_link_libraries(dntMapEditor dntlib ${LIBRARIES})
# Create the .gmo files
#IF(NOT WIN32 AND NOT MINGW)
#include(GettextTranslate)
#add_subdirectory(./po)
#ENDIF(NOT WIN32 AND NOT MINGW)
#get_cmake_property(_variableNames VARIABLES)
#foreach (_variableName ${_variableNames})
# message(STATUS "${_variableName}=${${_variableName}}")
#endforeach()
# Install files
install(TARGETS dnt DESTINATION bin)
install(DIRECTORY ./data DESTINATION share/${PACKAGE})