summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt83
1 files changed, 54 insertions, 29 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f4b2d2db..30ceb76c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,6 +1,9 @@
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../vendor/bandit)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../vendor/fmt)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../vendor/pcg-cpp/include)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../vendor/jsoncons)
# Add subdirectories
ADD_SUBDIRECTORY (squelch)
@@ -22,6 +25,7 @@ SET(SRCS_COMMON
dice.cc
dungeon.cc
files.cc
+ game.cc
gen_evol.cc
gen_maze.cc
generate.cc
@@ -32,14 +36,17 @@ SET(SRCS_COMMON
init1.cc
init2.cc
joke.cc
+ level_marker.cc
levels.cc
loadsave.cc
lua_bind.cc
melee1.cc
melee2.cc
+ message.cc
messages.cc
mimic.cc
modules.cc
+ monster_spell.cc
monster_type.cc
monster1.cc
monster2.cc
@@ -48,7 +55,9 @@ SET(SRCS_COMMON
object1.cc
object2.cc
object_filter.cc
+ object_flag_meta.cc
options.cc
+ player_type.cc
powers.cc
q_betwen.cc
q_bounty.cc
@@ -78,11 +87,9 @@ SET(SRCS_COMMON
q_ultrag.cc
q_wight.cc
q_wolves.cc
- quark.cc
quest.cc
randart.cc
range.cc
- script.cc
skills.cc
spell_type.cc
spells1.cc
@@ -92,15 +99,13 @@ SET(SRCS_COMMON
spells5.cc
spells6.cc
squeltch.cc
- status.cc
store.cc
tables.cc
- traps.cc
util.cc
variable.cc
wild.cc
- wizard1.cc
wizard2.cc
+ seed.cc
xtra1.cc
xtra2.cc
z-form.c
@@ -109,31 +114,27 @@ SET(SRCS_COMMON
z-util.c
)
-# Sources (PROGRAM)
-SET(SRCS_PROGRAM
- main-gcu.c
- main-gtk2.c
- main-sdl.c
- main-x11.c
- main.c
-)
-
# Sources (TEST)
SET(SRCS_TESTS
../tests/get_level_device.cc
../tests/harness.cc
../tests/lua_get_level.cc
+ ../tests/flag_set.cc
+ ../tests/grid.cc
)
ADD_LIBRARY(game
- ${SRCS_COMMON}
+ ${SRCS_COMMON} ${SRCS_VENDOR}
)
+ADD_LIBRARY(game_main
+ main.cc)
+
# Need a few additional source files for Windows.
-if(WIN32)
+IF(WIN32)
SET(SRCS ${SRCS} main-win.c)
# Resource files require a little workaround.
- if(MINGW)
+ IF(MINGW)
# Workaround for resource compilation for mingw on CMake.
# See http://www.cmake.org/Bug/view.php?id=4068
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/angband_rc.o
@@ -141,20 +142,44 @@ if(WIN32)
-i${CMAKE_CURRENT_SOURCE_DIR}/angband.rc
-o ${CMAKE_CURRENT_BINARY_DIR}/angband_rc.o)
SET(SRCS ${SRCS} ${CMAKE_CURRENT_BINARY_DIR}/angband_rc.o)
- else(MINGW)
+ ELSE(MINGW)
SET(SRCS ${SRCS} angband.rc)
- endif(MINGW)
-endif(WIN32)
+ ENDIF(MINGW)
+ # Executable for Win32
+ ADD_EXECUTABLE(tome-win WIN32 main-win.c)
+ TARGET_LINK_LIBRARIES(tome-win game squelch ${LIBS} winmm wsock32)
+ INSTALL(TARGETS tome-win RUNTIME DESTINATION bin)
+ENDIF(WIN32)
+
+# tome executables
+IF(X11_FOUND)
+ INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR})
+ ADD_EXECUTABLE(tome-x11 main-x11.c)
+ TARGET_LINK_LIBRARIES(tome-x11 game_main game squelch ${LIBS} ${X11_LIBRARIES})
+ INSTALL(TARGETS tome-x11 RUNTIME DESTINATION bin)
+ENDIF()
-# tome executable
-ADD_EXECUTABLE(tome ${EXECUTABLE_OPTIONS} ${SRCS_PROGRAM})
-TARGET_LINK_LIBRARIES(tome game squelch ${LIBS})
+IF(SDL_FOUND AND SDLIMAGE_FOUND AND SDLTTF_FOUND)
+ INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR} ${SDLIMAGE_INCLUDE_DIR} ${SDLTTF_INCLUDE_DIR})
+ ADD_EXECUTABLE(tome-sdl main-sdl.c)
+ TARGET_LINK_LIBRARIES(tome-sdl game_main game squelch ${LIBS} ${SDLIMAGE_LIBRARY} ${SDLTTF_LIBRARY} ${SDL_LIBRARY} m)
+ INSTALL(TARGETS tome-sdl RUNTIME DESTINATION bin)
+ENDIF()
+
+IF(CURSES_FOUND)
+ INCLUDE_DIRECTORIES(${CURSES_INCLUDE_DIR})
+ ADD_EXECUTABLE(tome-gcu main-gcu.c)
+ TARGET_LINK_LIBRARIES(tome-gcu game_main game squelch ${LIBS} ${CURSES_LIBRARIES})
+ INSTALL(TARGETS tome-gcu RUNTIME DESTINATION bin)
+ENDIF()
+
+IF(GTK2_FOUND)
+ INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
+ ADD_EXECUTABLE(tome-gtk2 main-gtk2.c)
+ TARGET_LINK_LIBRARIES(tome-gtk2 game_main game squelch ${LIBS} ${GTK2_LIBRARIES})
+ INSTALL(TARGETS tome-gtk2 RUNTIME DESTINATION bin)
+ENDIF()
# test harness executable
-ADD_EXECUTABLE(harness ${EXECUTABLE_OPTIONS} ${SRCS_TESTS})
+ADD_EXECUTABLE(harness ${SRCS_TESTS})
TARGET_LINK_LIBRARIES(harness game squelch ${LIBS})
-
-# Installation
-INSTALL(TARGETS tome
- RUNTIME DESTINATION games
-)