diff options
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | CMakeLists.txt | 66 | ||||
-rw-r--r-- | src/CMakeLists.txt | 45 | ||||
-rw-r--r-- | src/lua/.gitignore | 2 | ||||
-rw-r--r-- | src/lua/CMakeLists.txt | 11 |
5 files changed, 128 insertions, 0 deletions
@@ -1,3 +1,7 @@ *.o *.~* *.#* +CMakeFiles +CMakeCache.txt +cmake_install.cmake +Makefile
\ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..c71cf448 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,66 @@ +# Project definition. +PROJECT (tome2) +CMAKE_MINIMUM_REQUIRED (VERSION 2.8) + +# Default flags. +IF(CMAKE_COMPILER_IS_GNUCC) + # Let's set sensible options. + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wno-unused-value") + SET(CMAKE_C_FLAGS_RELEASE "-O2") + SET(CMAKE_C_FLAGS_DEBUG "-O1 -g") +ENDIF() + +# Add definitions. +ADD_DEFINITIONS(-DUSE_EGO_GRAPHICS) +ADD_DEFINITIONS(-DUSE_TRANSPARENCY) +ADD_DEFINITIONS(-DSUPPORT_GAMMA) +ADD_DEFINITIONS(-DUSE_PRECISE_CMOVIE) +ADD_DEFINITIONS(-DUSE_UNIXSOCK) + +# +# X11 support (OPTIONAL) +# +FIND_PACKAGE(X11) +IF(X11_FOUND) + # Add X11 flags/options + ADD_DEFINITIONS(-DUSE_X11) + INCLUDE_DIRECTORIES(${X11_INCLUDE_DIRS}) + SET(LIBS ${LIBS} ${X11_LIBRARIES}) +ENDIF() + +# +# SDL support (OPTIONAL) +# +FIND_PACKAGE(SDL) +IF(SDL_FOUND) + # Add SDL flags/options + ADD_DEFINITIONS(-DUSE_SDL) + INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) + SET(LIBS ${LIBS} ${SDL_LIBRARY}) + # SDL_image is also required + FIND_PACKAGE(SDL_image REQUIRED) + IF(SDLIMAGE_FOUND) + INCLUDE_DIRECTORIES(${SDLIMAGE_INCLUDE_DIR}) + SET(LIBS ${LIBS} ${SDLIMAGE_LIBRARY}) + ENDIF() + # SDL_ttf is also required + FIND_PACKAGE(SDL_ttf REQUIRED) + IF(SDLTTF_FOUND) + INCLUDE_DIRECTORIES(${SDLTTF_INCLUDE_DIR}) + SET(LIBS ${LIBS} ${SDLTTF_LIBRARY}) + ENDIF() +ENDIF() + +# +# Curses support (OPTIONAL) +# +FIND_PACKAGE(Curses) +IF(CURSES_FOUND) + # Add Curses flags/options + ADD_DEFINITIONS(-DUSE_GCU) + INCLUDE_DIRECTORIES(${CURSES_INCLUDE_DIR}) + SET(LIBS ${LIBS} ${CURSES_LIBRARIES}) +ENDIF() + +# Add the source subdirectory. +ADD_SUBDIRECTORY (src) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 00000000..58d5c0e3 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,45 @@ +# Lua support code. +ADD_SUBDIRECTORY(lua) + +# Macro for defining tolua targets. +MACRO(TOLUA_FILE MODULE_NAME OUTPUT_FILE_NAME) + ADD_CUSTOM_COMMAND( + OUTPUT ${OUTPUT_FILE_NAME} + COMMAND tolua -n ${MODULE_NAME} -o ${CMAKE_CURRENT_SOURCE_DIR}/${OUTPUT_FILE_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_NAME}.pkg + DEPENDS tolua ${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_NAME}.pkg + ) + SET_SOURCE_FILES_PROPERTIES("${OUTPUT_FILE_NAME}" PROPERTIES GENERATED TRUE) +ENDMACRO(TOLUA_FILE) + +# Process all the needed modules. +TOLUA_FILE(monster w_mnster.c) +TOLUA_FILE(player w_player.c) +TOLUA_FILE(player_c w_play_c.c) +TOLUA_FILE(z_pack w_z_pack.c) +TOLUA_FILE(object w_obj.c) +TOLUA_FILE(util w_util.c) +TOLUA_FILE(spells w_spells.c) +TOLUA_FILE(quest w_quest.c) +TOLUA_FILE(dungeon w_dun.c) + +# tome executable +INCLUDE_DIRECTORIES(lua) +ADD_EXECUTABLE(tome main-gcu.c main-x11.c main-xaw.c main-sdl.c main-dmy.c + z-rand.c z-util.c z-form.c z-virt.c z-term.c z-sock.c + variable.c tables.c plots.c util.c cave.c dungeon.c + melee1.c melee2.c modules.c + object1.c object2.c randart.c squeltch.c traps.c + monster1.c monster2.c monster3.c ghost.c + xtra1.c xtra2.c skills.c powers.c gods.c + spells1.c spells2.c + status.c files.c notes.c loadsave.c + cmd1.c cmd2.c cmd3.c cmd4.c cmd5.c cmd6.c cmd7.c + help.c + generate.c gen_maze.c gen_evol.c wild.c levels.c store.c bldg.c + cmovie.c irc.c + wizard2.c init2.c birth.c wizard1.c init1.c main.c + # Lua bits: + lua_bind.c script.c w_mnster.c w_player.c w_play_c.c w_z_pack.c + w_obj.c w_util.c w_spells.c w_quest.c w_dun.c + ) +TARGET_LINK_LIBRARIES(tome lua ${LIBS}) diff --git a/src/lua/.gitignore b/src/lua/.gitignore new file mode 100644 index 00000000..26548e17 --- /dev/null +++ b/src/lua/.gitignore @@ -0,0 +1,2 @@ +/liblua.a +/tolua diff --git a/src/lua/CMakeLists.txt b/src/lua/CMakeLists.txt new file mode 100644 index 00000000..df2b30e7 --- /dev/null +++ b/src/lua/CMakeLists.txt @@ -0,0 +1,11 @@ +ADD_LIBRARY (lua STATIC + lapi.c lcode.c ldebug.c ldo.c lfunc.c lgc.c + llex.c lmem.c lobject.c lparser.c lstate.c lstring.c + ltable.c ltests.c ltm.c lundump.c lvm.c lzio.c + lauxlib.c lbaselib.c ldblib.c liolib.c lstrlib.c + tolua_lb.c tolua_rg.c tolua_tt.c tolua_tm.c tolua_gp.c + tolua_eh.c tolua_bd.c) + +ADD_EXECUTABLE(tolua tolua.c tolualua.c lua) + +TARGET_LINK_LIBRARIES(tolua lua) |