summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorPetr Mrázek2011-07-22 00:45:54 +0000
committerPetr Mrázek2011-07-22 00:45:54 +0000
commitbf89e3ad6b98442dca909e327b80c5e292db6092 (patch)
tree27f28ac93518f26fd099bf07340e9d7fe9f11f1c /CMakeLists.txt
parent650c5593bfd90afc93720b06fe74ee4ec7abf73e (diff)
downloadstonesense-bf89e3ad6b98442dca909e327b80c5e292db6092.tar.gz
stonesense-bf89e3ad6b98442dca909e327b80c5e292db6092.tar.bz2
stonesense-bf89e3ad6b98442dca909e327b80c5e292db6092.tar.xz
Update stonesense for current dfhack, make sure it's buildable as a plugin.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt123
1 files changed, 21 insertions, 102 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5f3c844..17ae87c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,29 +1,12 @@
-# main project file. use it from a build sub-folder
-PROJECT (stonesense)
-cmake_minimum_required(VERSION 2.6)
+PROJECT (stonesense)
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake/Modules)
-# disable warning, autosearch
-if(COMMAND cmake_policy)
- cmake_policy(SET CMP0003 NEW)
-endif(COMMAND cmake_policy)
-
-if("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
- message(SEND_ERROR "In-source builds are not allowed.")
-endif("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
-
-IF(NOT DEFINED CMAKE_BUILD_TYPE)
- SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
-ENDIF(NOT DEFINED CMAKE_BUILD_TYPE)
-
-SET( EXECUTABLE_OUTPUT_PATH ${stonesense_SOURCE_DIR} CACHE PATH "Output directory for stonesense, default is root" )
-
if(WIN32)
include_directories (
${CMAKE_SOURCE_DIR}/dfhack/include/
${CMAKE_SOURCE_DIR}/dfhack/depends/md5/
${CMAKE_SOURCE_DIR}/dfhack/depends/tinyxml/
- ${CMAKE_SOURCE_DIR}/dfhack/
+ ${CMAKE_SOURCE_DIR}/dfhack/
${CMAKE_SOURCE_DIR}/allegro/lib/
${CMAKE_SOURCE_DIR}
)
@@ -40,11 +23,11 @@ SET(PROJECT_SRCS
dfhack/depends/tinyxml/tinyxml.cpp
dfhack/depends/tinyxml/tinyxmlerror.cpp
dfhack/depends/tinyxml/tinyxmlparser.cpp
-
+
Block.cpp
BlockCondition.cpp
BlockFactory.cpp
- BlockTree.cpp
+ BlockTree.cpp
BuildingConfiguration.cpp
ColorConfiguration.cpp
ConditionalSprite.cpp
@@ -54,105 +37,41 @@ SET(PROJECT_SRCS
ContentLoader.cpp
CreatureConfiguration.cpp
Creatures.cpp
- FluidConfiguration.cpp
+ FluidConfiguration.cpp
GUI.cpp
GameBuildings.cpp
GroundMaterialConfiguration.cpp
MapLoading.cpp
- SpriteColors.cpp
+ SpriteColors.cpp
SpriteMaps.cpp
SpriteObjects.cpp
UserInput.cpp
WorldSegment.cpp
VegetationConfiguration.cpp
main.cpp
-
)
-# Under Windows, we also include a resource file to the build
-if(WIN32)
- # Make sure that the resource file is seen as an RC file to be compiled with a resource compiler, not a C++ compiler
- set_source_files_properties(${CMAKE_SOURCE_DIR}/res.rc LANGUAGE RC)
- # Add the resource file to the list of sources
- list(APPEND PROJECT_SRCS ${CMAKE_SOURCE_DIR}/res.rc)
- # For MinGW, we have to change the compile flags
- if(MINGW)
- # resource compilation for mingw
- set(CMAKE_RC_COMPILER_INIT windres)
- ENABLE_LANGUAGE(RC)
- SET(CMAKE_RC_COMPILE_OBJECT
- "<CMAKE_RC_COMPILER> <FLAGS> <DEFINES> -o <OBJECT> <SOURCE>")
- set(RC_CFLAGS "-DMINGW -Ocoff")
- # If any sort of debugging is being enabled, add a _DEBUG define to the flags for the resource compiler
- if(CMAKE_BUILD_TYPE STREQUAL "DEBUG" OR CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO")
- set(RC_CFLAGS "${RC_CFLAGS} -D_DEBUG")
- endif(CMAKE_BUILD_TYPE STREQUAL "DEBUG" OR CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO")
- set_source_files_properties(${CMAKE_SOURCE_DIR}/res.rc COMPILE_FLAGS "${RC_CFLAGS}")
- # For anything else, assumingly Visual Studio at this point, use a different set of compile flags
- endif(MINGW)
-endif(WIN32)
-
#linux
IF(UNIX)
-
- add_definitions(-DLINUX_BUILD)
- SET (PLATFORM_SRC
- )
-
-# FIND_PACKAGE(Allegro5 REQUIRED)
- LINK_DIRECTORIES(${LINK_DIRECTORIES})
-
-# INCLUDE_DIRECTORIES(${ALLEGRO_INCLUDE_DIR})
-
-# SET(PROJECT_LIBS ${ALLEGRO5_LIBRARIES} ${PROJECT_LIBS})
- if(CMAKE_BUILD_TYPE STREQUAL "Debug")
- SET(PROJECT_LIBS allegro allegro_primitives allegro_color allegro_dialog allegro_font
- allegro_image allegro_main allegro_ttf dfhack-debug ${PROJECT_LIBS})
- else(CMAKE_BUILD_TYPE STREQUAL "Debug")
-
- SET(PROJECT_LIBS allegro allegro_primitives allegro_color allegro_dialog
- allegro_font allegro_image allegro_main allegro_ttf dfhack
- ${PROJECT_LIBS})
- endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
-
- ADD_EXECUTABLE(stonesense ${PROJECT_SRCS} ${PLATFORM_SRC})
- TARGET_LINK_LIBRARIES(stonesense ${PROJECT_LIBS})
-
+ SET(PROJECT_LIBS allegro allegro_primitives allegro_color allegro_dialog
+ allegro_font allegro_image allegro_main allegro_ttf
+ ${PROJECT_LIBS})
+ DFHACK_PLUGIN(stonesense ${PROJECT_SRCS} LINK_LIBRARIES ${PROJECT_LIBS})
# windows
ELSE(UNIX)
+ # THIS IS TOTAL BULL****
add_definitions(-DBUILD_DFHACK_LIB)
SET (PLATFORM_SRC
- )
- # use local allegro
- # MinGW is broken. doesn't link properly for some reason.
-
- IF(MINGW)
- add_definitions()
- SET(PROJECT_LIBS liballegro.a liballegro_primitives.a liballegro_image.a liballegro_font.a liballegro_dialog.a liballegro_ttf.dll.a libpng.dll.a libglu32.a libglaux.a libdfhack.dll.a psapi mingw32)
- include_directories (
- ${include_directories}
- ${CMAKE_SOURCE_DIR}/allegro
- )
- LINK_DIRECTORIES(
- ${LINK_DIRECTORIES}
- ${CMAKE_SOURCE_DIR}/dfhack
- ${CMAKE_SOURCE_DIR}/allegro/lib
- )
-
- # MSVC
- ELSE(MINGW)
- add_definitions()
- SET(PROJECT_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib allegro.lib allegro_primitives.lib allegro_font.lib allegro_ttf.lib allegro_image.lib allegro_dialog.lib libpng.lib zdll.lib winmm.lib psapi.lib opengl32.lib glu32.lib dfhack/build/dfhack.lib $(NOINHERIT))
- include_directories (
- ${include_directories}
- ${CMAKE_SOURCE_DIR}/allegro
- )
- LINK_DIRECTORIES(
- ${LINK_DIRECTORIES}
- ${CMAKE_SOURCE_DIR}/allegro/lib
- )
- ENDIF(MINGW)
+ )
+ SET(PROJECT_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib allegro.lib allegro_primitives.lib allegro_font.lib allegro_ttf.lib allegro_image.lib allegro_dialog.lib libpng.lib zdll.lib winmm.lib psapi.lib opengl32.lib glu32.lib dfhack/build/dfhack.lib $(NOINHERIT))
+ include_directories (
+ ${include_directories}
+ ${CMAKE_SOURCE_DIR}/allegro
+ )
+ LINK_DIRECTORIES(
+ ${LINK_DIRECTORIES}
+ ${CMAKE_SOURCE_DIR}/allegro/lib
+ )
ADD_EXECUTABLE(stonesense WIN32 ${PROJECT_SRCS} ${PLATFORM_SRC})
TARGET_LINK_LIBRARIES(stonesense ${PROJECT_LIBS})
-
ENDIF(UNIX)