| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 | 
							- project(vcmiclient)
 
- cmake_minimum_required(VERSION 2.6)
 
- include_directories(${CMAKE_HOME_DIRECTORY} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_HOME_DIRECTORY}/lib)
 
- include_directories(${SDL_INCLUDE_DIR} ${SDLIMAGE_INCLUDE_DIR} ${SDLMIXER_INCLUDE_DIR} ${SDLTTF_INCLUDE_DIR})
 
- include_directories(${Boost_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR} ${FFMPEG_INCLUDE_DIRS})
 
- set(client_SRCS
 
- 		StdInc.cpp
 
- 		../CCallback.cpp
 
- 		battle/CBattleInterface.cpp
 
- 		battle/CBattleAnimations.cpp
 
- 		battle/CBattleInterfaceClasses.cpp
 
- 		battle/CCreatureAnimation.cpp
 
- 		gui/CAnimation.cpp
 
- 		gui/CCursorHandler.cpp
 
- 		gui/CGuiHandler.cpp
 
- 		gui/CIntObject.cpp
 
- 		gui/Fonts.cpp
 
- 		gui/Geometries.cpp
 
- 		gui/SDL_Extensions.cpp
 
- 		widgets/AdventureMapClasses.cpp
 
- 		widgets/Buttons.cpp
 
- 		widgets/CArtifactHolder.cpp
 
- 		widgets/CComponent.cpp
 
- 		widgets/CGarrisonInt.cpp
 
- 		widgets/Images.cpp
 
- 		widgets/MiscWidgets.cpp
 
- 		widgets/ObjectLists.cpp
 
- 		widgets/TextControls.cpp
 
- 		windows/CAdvmapInterface.cpp
 
- 		windows/CCastleInterface.cpp
 
- 		windows/CCreatureWindow.cpp
 
- 		windows/CHeroWindow.cpp
 
- 		windows/CKingdomInterface.cpp
 
- 		windows/CQuestLog.cpp
 
- 		windows/CSpellWindow.cpp
 
- 		windows/CTradeWindow.cpp
 
- 		windows/CWindowObject
 
- 		windows/InfoWindows.cpp
 
- 		windows/GUIClasses.cpp
 
- 		CBitmapHandler.cpp
 
- 		CDefHandler.cpp
 
- 		CGameInfo.cpp
 
- 		Client.cpp
 
- 		CMessage.cpp
 
- 		CMT.cpp
 
- 		CMusicHandler.cpp
 
- 		CPlayerInterface.cpp
 
- 		CPreGame.cpp
 
- 		CVideoHandler.cpp
 
- 		Graphics.cpp
 
- 		mapHandler.cpp
 
- 		NetPacksClient.cpp
 
- )
 
- set(client_HEADERS
 
- 		gui/SDL_Pixels.h
 
- 		gui/SDL_Compat.h
 
- )
 
- if(APPLE)
 
- 	# OS X specific includes
 
- 	include_directories(${SPARKLE_INCLUDE_DIR})
 
- 	# OS X specific source files
 
- 	set(client_SRCS ${client_SRCS} SDLMain.m OSX.mm Info.plist vcmi.icns ../osx/vcmi_dsa_public.pem)
 
- 	add_executable(vcmiclient MACOSX_BUNDLE ${client_SRCS} ${client_HEADERS})
 
- 	# OS X specific libraries
 
- 	target_link_libraries(vcmiclient ${SPARKLE_FRAMEWORK})
 
- 	# Because server and AI libs would be copies to bundle they need to be built before client
 
- 	add_dependencies(vcmiclient vcmiserver VCAI EmptyAI StupidAI BattleAI minizip)
 
- 	# Custom Info.plist
 
- 	set_target_properties(vcmiclient PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
 
- 	# Copy icon file and public key for Sparkle
 
- 	set_source_files_properties(vcmi.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
 
- 	set_source_files_properties(../osx/vcmi_dsa_public.pem PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
 
- 	set_target_properties(vcmiclient PROPERTIES XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/../Frameworks @executable_path/")
 
- 	# Copy server executable, libs and game data to bundle
 
- 	set(BUNDLE_PATH ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/vcmiclient.app/Contents)
 
- 	set(MakeVCMIBundle
 
- 		# Copy all needed binaries
 
- 		mkdir -p ${BUNDLE_PATH}/MacOS/AI &&
 
- 		cp ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/vcmiserver ${BUNDLE_PATH}/MacOS/vcmiserver &&
 
- 		cp ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/libvcmi.dylib ${BUNDLE_PATH}/MacOS/libvcmi.dylib &&
 
- 		cp ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/libminizip.dylib ${BUNDLE_PATH}/MacOS/libminizip.dylib &&
 
- 		cp ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/libVCAI.dylib ${BUNDLE_PATH}/MacOS/AI/libVCAI.dylib &&
 
- 		cp ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/libStupidAI.dylib ${BUNDLE_PATH}/MacOS/AI/libStupidAI.dylib &&
 
- 		cp ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/libEmptyAI.dylib ${BUNDLE_PATH}/MacOS/AI/libEmptyAI.dylib &&
 
- 		cp ${CMAKE_HOME_DIRECTORY}/bin/$(CONFIGURATION)/libBattleAI.dylib ${BUNDLE_PATH}/MacOS/AI/libBattleAI.dylib &&
 
- 		cp -r ${CMAKE_HOME_DIRECTORY}/osx/vcmibuilder.app ${BUNDLE_PATH}/MacOS/vcmibuilder.app &&
 
- 		# Copy frameworks
 
- 		cp -r ${CMAKE_HOME_DIRECTORY}/${CMAKE_FRAMEWORK_PATH} ${BUNDLE_PATH}/Frameworks/ &&
 
- 		# Copy vcmi data
 
- 		mkdir -p ${BUNDLE_PATH}/Data &&
 
- 		mkdir -p ${BUNDLE_PATH}/Data/Mods &&
 
- 		mkdir -p ${BUNDLE_PATH}/Data/launcher &&
 
- 		cp -r ${CMAKE_HOME_DIRECTORY}/config/ ${BUNDLE_PATH}/Data/config/ &&
 
- 		cp -r ${CMAKE_HOME_DIRECTORY}/Mods/vcmi/ ${BUNDLE_PATH}/Data/Mods/vcmi/ &&
 
- 		cp -r ${CMAKE_HOME_DIRECTORY}/Mods/WoG/ ${BUNDLE_PATH}/Data/Mods/WoG/ &&
 
- 		cp -r ${CMAKE_HOME_DIRECTORY}/launcher/icons/ ${BUNDLE_PATH}/Data/launcher/icons/)
 
- 		
 
- 	add_custom_command(TARGET vcmiclient POST_BUILD COMMAND ${MakeVCMIBundle})
 
- elseif(WIN32)
 
- 	add_executable(vcmiclient ${client_SRCS} VCMI_client.rc)
 
- else()
 
- 	add_executable(vcmiclient ${client_SRCS})
 
- endif()
 
- if(WIN32)
 
- 	set_target_properties(vcmiclient PROPERTIES OUTPUT_NAME VCMI_client)
 
- endif()
 
- target_link_libraries(vcmiclient vcmi ${Boost_LIBRARIES} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${SDLMIXER_LIBRARY} ${SDLTTF_LIBRARY} ${ZLIB_LIBRARIES} ${FFMPEG_LIBRARIES} ${SYSTEM_LIBS})
 
- set_target_properties(vcmiclient PROPERTIES ${PCH_PROPERTIES})
 
- cotire(vcmiclient)
 
- install(TARGETS vcmiclient DESTINATION ${BIN_DIR})
 
 
  |