1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-26 08:41:13 +02:00
vcmi/lib/CMakeLists.txt
Ivan Savenko c6cc6e6301 Large changeset, first part of editing H3 objects via mods feature. Changes:
- loading of all objects (including H3 objects) will be directed by mod handlers
- common base for all handlers accessible from mod system (IHanderBase)
- json format changes: use struct with string ID's instead of vector

- fixed some gcc/clang errors and warnings
- fixed several cases of memory leaks and invalid memory access (mostly related to usage of bonus system and/or identifiers resolution)

Note that right now loading is much slower than before due to excessive json validation (or not fast enough validator)
2013-04-21 12:49:26 +00:00

91 lines
2.1 KiB
CMake

project(libvcmi)
cmake_minimum_required(VERSION 2.6)
include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/lib)
include_directories(${Boost_INCLUDE_DIRS} ${SDL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
set(lib_SRCS
filesystem/CBinaryReader.cpp
filesystem/CFilesystemLoader.cpp
filesystem/CMemoryStream.cpp
filesystem/CFileInfo.cpp
filesystem/CLodArchiveLoader.cpp
filesystem/CResourceLoader.cpp
filesystem/CFileInputStream.cpp
filesystem/CCompressedStream.cpp
logging/CBasicLogConfigurator.cpp
logging/CLogger.cpp
mapping/CCampaignHandler.cpp
mapping/CMap.cpp
mapping/CMapEditManager.cpp
mapping/CMapInfo.cpp
mapping/CMapService.cpp
mapping/MapFormatH3M.cpp
rmg/CMapGenerator.cpp
BattleAction.cpp
BattleHex.cpp
BattleState.cpp
CArtHandler.cpp
CBattleCallback.cpp
CBonusTypeHandler.cpp
CBuildingHandler.cpp
CConfigHandler.cpp
CConsoleHandler.cpp
CCreatureHandler.cpp
CCreatureSet.cpp
CDefObjInfoHandler.cpp
CGameInterface.cpp
CGameState.cpp
CGeneralTextHandler.cpp
CHeroHandler.cpp
CModHandler.cpp
CObjectHandler.cpp
CObstacleInstance.cpp
Connection.cpp
CSpellHandler.cpp
CThreadHelper.cpp
CTownHandler.cpp
GameConstants.cpp
HeroBonus.cpp
IGameCallback.cpp
JsonNode.cpp
NetPacksLib.cpp
ResourceSet.cpp
RegisterTypes.cpp
VCMI_Lib.cpp
VCMIDirs.cpp
)
set(lib_HEADERS
../Global.h
filesystem/CInputStream.h
filesystem/ISimpleResourceLoader.h
AI_Base.h
CondSh.h
ConstTransitivePtr.h
CBonusTypeHandler.h
CRandomGenerator.h
CScriptingModule.h
CStopWatch.h
GameConstants.h
StringConstants.h
IGameEventsReceiver.h
IHandlerBase.h
int3.h
Interprocess.h
NetPacks.h
RegisterTypes.h
StartInfo.h
UnlockGuard.h
VCMIDirs.h
vcmi_endian.h
)
add_library(vcmi SHARED ${lib_SRCS} ${lib_HEADERS})
set_target_properties(vcmi PROPERTIES XCODE_ATTRIBUTE_LD_DYLIB_INSTALL_NAME "@executable_path/libvcmi.dylib")
target_link_libraries(vcmi ${Boost_LIBRARIES} ${SDL_LIBRARY} ${ZLIB_LIBRARIES})
if (NOT APPLE) # Already inside vcmiclient bundle
install(TARGETS vcmi DESTINATION ${LIB_DIR})
endif()