diff options
| author | Jonas Ask | 2009-10-26 23:28:42 +0000 |
|---|---|---|
| committer | Jonas Ask | 2009-10-26 23:28:42 +0000 |
| commit | 3f7f1a61542e606a9150f7907034328a31387b00 (patch) | |
| tree | 0cc5692545195286b1c73f41bb570abfd94ee800 /CMakeLists.txt | |
| parent | 69a0c612e5e7041cd34853a8956d62ce3bc61066 (diff) | |
| download | stonesense-3f7f1a61542e606a9150f7907034328a31387b00.tar.gz stonesense-3f7f1a61542e606a9150f7907034328a31387b00.tar.bz2 stonesense-3f7f1a61542e606a9150f7907034328a31387b00.tar.xz | |
Patch by Peterix. Linux compatibility hopefully improved quite a bit...
Worked in two workshops by kaypy.
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..54ed9d2 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,97 @@ +# main project file. use it from a build sub-folder +PROJECT (stonesense) +cmake_minimum_required(VERSION 2.6) + +# 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" ) + +include_directories ( + ${CMAKE_SOURCE_DIR}/dfhack/library/ + ${CMAKE_SOURCE_DIR}/dfhack/library/md5/ + ${CMAKE_SOURCE_DIR}/dfhack/library/tinyxml + ${CMAKE_SOURCE_DIR}/loadpng + ${CMAKE_SOURCE_DIR} +) + +SET(PROJECT_SRCS + dfhack/library/tinyxml/tinystr.cpp + dfhack/library/tinyxml/tinyxml.cpp + dfhack/library/tinyxml/tinyxmlerror.cpp + dfhack/library/tinyxml/tinyxmlparser.cpp + + dfhack/library/DFDataModel.cpp + dfhack/library/DFHackAPI.cpp + dfhack/library/DFMemInfo.cpp + dfhack/library/DFProcess.cpp + dfhack/library/DFProcessManager.cpp + dfhack/library/DFTileTypes.cpp + dfhack/library/md5/md5.cpp + dfhack/library/md5/md5wrapper.cpp + + loadpng/loadpng.c + loadpng/regpng.c + loadpng/savepng.c + + Block.cpp + BlockCondition.cpp + BuildingConfiguration.cpp + ConditionalSprite.cpp + Config.cpp + Constructions.cpp + Contributions.txt + CreatureConfiguration.cpp + Creatures.cpp + GUI.cpp + GameBuildings.cpp + MapLoading.cpp + SpriteMaps.cpp + UserInput.cpp + WorldSegment.cpp + main.cpp + xmlBuildingReader.cpp +) +#linux +IF(UNIX) + add_definitions(-DLINUX_BUILD) + add_definitions(-DBUILD_DFHACK_LIB) + SET(PROJECT_LIBS alleg-4.2.2 png) + ADD_EXECUTABLE(stonesense ${PROJECT_SRCS}) + TARGET_LINK_LIBRARIES(stonesense ${PROJECT_LIBS}) +# windows +ELSE(UNIX) + add_definitions(-DBUILD_DFHACK_LIB) + # use local allegro + include_directories ( + ${include_directories} + ${CMAKE_SOURCE_DIR}/allegro + ) + LINK_DIRECTORIES( + ${LINK_DIRECTORIES} + ${CMAKE_SOURCE_DIR}/allegro/lib_msvs8 + ${CMAKE_SOURCE_DIR}/loadpng/libpng/lib/ + ) + # MinGW is broken. doesn't link properly for some reason. + IF(MINGW) + add_definitions(-DALLEGRO_MINGW32) + SET(PROJECT_LIBS alleg psapi mingw32 libpng) + # MSVC + ELSE(MINGW) + add_definitions(-DALLEGRO_MSVC) + SET(PROJECT_LIBS alleg psapi libpng) + ENDIF(MINGW) + ADD_EXECUTABLE(stonesense WIN32 ${PROJECT_SRCS}) + TARGET_LINK_LIBRARIES(stonesense ${PROJECT_LIBS}) + +ENDIF(UNIX)
\ No newline at end of file |
