From: <tz...@us...> - 2009-06-04 02:14:42
|
Revision: 3108 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=3108&view=rev Author: tzlaine Date: 2009-06-04 01:35:23 +0000 (Thu, 04 Jun 2009) Log Message: ----------- Added the AI client to the new CMake build. Moved all the common files into a static archive; hopefully this will prove to be a portable way to prevent multiple builds of identical code. Modified Paths: -------------- trunk/FreeOrion/CMakeLists.txt trunk/FreeOrion/server/CMakeLists.txt Added Paths: ----------- trunk/FreeOrion/client/AI/CMakeLists.txt Modified: trunk/FreeOrion/CMakeLists.txt =================================================================== --- trunk/FreeOrion/CMakeLists.txt 2009-06-04 00:57:48 UTC (rev 3107) +++ trunk/FreeOrion/CMakeLists.txt 2009-06-04 01:35:23 UTC (rev 3108) @@ -81,10 +81,114 @@ ######################################## -# Recurse Into Sources # +# Build common code library # ######################################## include_directories(${CMAKE_SOURCE_DIR} log4cpp) +set(common_sources + combat/Combat.cpp + combat/CombatOrder.cpp + combat/OpenSteer/AsteroidBeltObstacle.cpp + combat/OpenSteer/CombatFighter.cpp + combat/OpenSteer/CombatObject.cpp + combat/OpenSteer/CombatShip.cpp + combat/OpenSteer/Missile.cpp + combat/OpenSteer/Obstacle.cpp + combat/OpenSteer/PathingEngine.cpp + combat/OpenSteer/SimpleVehicle.cpp + combat/OpenSteer/Vec3.cpp + combat/OpenSteer/Vec3Utilities.cpp + Empire/Empire.cpp + Empire/EmpireManager.cpp + Empire/ResourcePool.cpp + network/Message.cpp + network/MessageQueue.cpp + network/Networking.cpp + UI/StringTable.cpp + universe/Building.cpp + universe/Condition.cpp + universe/ConditionParser1.cpp + universe/ConditionParser2.cpp + universe/ConditionParser.cpp + universe/Effect.cpp + universe/EffectParser.cpp + universe/Enums.cpp + universe/Fleet.cpp + universe/Meter.cpp + universe/ParserUtil.cpp + universe/Planet.cpp + universe/PopCenter.cpp + universe/Predicates.cpp + universe/ResourceCenter.cpp + universe/Ship.cpp + universe/ShipDesign.cpp + universe/Special.cpp + universe/System.cpp + universe/Tech.cpp + universe/TopLevelParsers.cpp + universe/UniverseObject.cpp + universe/ValueRef.cpp + universe/ValueRefParser.cpp + util/DataTable.cpp + util/GZStream.cpp + util/MultiplayerCommon.cpp + util/OptionsDB.cpp + util/Order.cpp + util/OrderSet.cpp + util/Process.cpp + util/Random.cpp + util/Serialize.cpp + util/SitRepEntry.cpp + util/VarText.cpp + util/binreloc.c + util/Directories.cpp + util/XMLDoc.cpp + log4cpp/src/Appender.cpp + log4cpp/src/AppenderSkeleton.cpp + log4cpp/src/BasicLayout.cpp + log4cpp/src/Category.cpp + log4cpp/src/CategoryStream.cpp + log4cpp/src/Configurator.cpp + log4cpp/src/FactoryParams.cpp + log4cpp/src/FileAppender.cpp + log4cpp/src/HierarchyMaintainer.cpp + log4cpp/src/LayoutAppender.cpp + log4cpp/src/Localtime.cpp + log4cpp/src/LoggingEvent.cpp + log4cpp/src/NDC.cpp + log4cpp/src/PatternLayout.cpp + log4cpp/src/Priority.cpp + log4cpp/src/StringUtil.cpp + log4cpp/src/TimeStamp.cpp + ${CMAKE_BINARY_DIR}/util/Version.cpp +) + +if (WIN32) + list(APPEND common_sources log4cpp/src/MSThreads.cpp) +else () + list(APPEND common_sources log4cpp/src/PThreads.cpp) +endif () + +project(freeorion_lib) + +add_library(freeorion_lib STATIC ${common_sources}) + +set_target_properties( + freeorion_lib + PROPERTIES + OUTPUT_NAME freeorion + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} + ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} + CLEAN_DIRECT_OUTPUT 1 + LABELS "${PROJECT_NAME}" +) + +target_link_libraries(freeorion_lib ${Boost_LIBRARIES} ${ZLIB_LIBRARIES}) + +######################################## +# Recurse Into Sources # +######################################## add_subdirectory(server) -#add_subdirectory(client/AI) +add_subdirectory(client/AI) #add_subdirectory(client/human) Added: trunk/FreeOrion/client/AI/CMakeLists.txt =================================================================== --- trunk/FreeOrion/client/AI/CMakeLists.txt (rev 0) +++ trunk/FreeOrion/client/AI/CMakeLists.txt 2009-06-04 01:35:23 UTC (rev 3108) @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 2.6) +cmake_policy(VERSION 2.6.4) + +project(freeorionca) + +message("-- Configuring freeorionca") + +set(sources + ../../client/ClientApp.cpp + ../../client/ClientFSMEvents.cpp + ../../client/AI/AIClientApp.cpp + ../../client/AI/camain.cpp + ../../network/ClientNetworking.cpp + ../../universe/Universe.cpp + ../../util/AppInterface.cpp + ../../AI/AIInterface.cpp + ../../AI/PythonAI.cpp + ../../python/PythonEnumWrapper.cpp + ../../python/PythonUniverseWrapper.cpp + ../../python/PythonEmpireWrapper.cpp + ../../python/PythonLoggingWrapper.cpp +) + +list(APPEND MINIMUM_BOOST_COMPONENTS iostreams python) +find_package(Boost ${MINIMUM_BOOST_VERSION} COMPONENTS ${MINIMUM_BOOST_COMPONENTS}) +if (Boost_FOUND) + include_directories(${Boost_INCLUDE_DIRS}) +else () + message(FATAL_ERROR "Boost libraries not found.") +endif () + +find_package(PythonLibs) +if (PYTHONLIBS_FOUND) + include_directories(${PYTHON_INCLUDE_PATH}) +else () + message(FATAL_ERROR " library not found.") +endif () + +add_definitions(-DFREEORION_BUILD_AI) + +add_executable(freeorionca ${sources}) + +set_target_properties( + freeorionca + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} + CLEAN_DIRECT_OUTPUT 1 + LABELS "${PROJECT_NAME}" +) + +target_link_libraries(freeorionca freeorion_lib ${Boost_LIBRARIES} ${PYTHON_LIBRARIES}) Modified: trunk/FreeOrion/server/CMakeLists.txt =================================================================== --- trunk/FreeOrion/server/CMakeLists.txt 2009-06-04 00:57:48 UTC (rev 3107) +++ trunk/FreeOrion/server/CMakeLists.txt 2009-06-04 01:35:23 UTC (rev 3108) @@ -6,81 +6,6 @@ message("-- Configuring freeoriond") set(sources - ../combat/Combat.cpp - ../combat/CombatOrder.cpp - ../combat/OpenSteer/AsteroidBeltObstacle.cpp - ../combat/OpenSteer/CombatFighter.cpp - ../combat/OpenSteer/CombatObject.cpp - ../combat/OpenSteer/CombatShip.cpp - ../combat/OpenSteer/Missile.cpp - ../combat/OpenSteer/Obstacle.cpp - ../combat/OpenSteer/PathingEngine.cpp - ../combat/OpenSteer/SimpleVehicle.cpp - ../combat/OpenSteer/Vec3.cpp - ../combat/OpenSteer/Vec3Utilities.cpp - ../Empire/Empire.cpp - ../Empire/EmpireManager.cpp - ../Empire/ResourcePool.cpp - ../network/Message.cpp - ../network/MessageQueue.cpp - ../network/Networking.cpp - ../UI/StringTable.cpp - ../universe/Building.cpp - ../universe/Condition.cpp - ../universe/ConditionParser1.cpp - ../universe/ConditionParser2.cpp - ../universe/ConditionParser.cpp - ../universe/Effect.cpp - ../universe/EffectParser.cpp - ../universe/Enums.cpp - ../universe/Fleet.cpp - ../universe/Meter.cpp - ../universe/ParserUtil.cpp - ../universe/Planet.cpp - ../universe/PopCenter.cpp - ../universe/Predicates.cpp - ../universe/ResourceCenter.cpp - ../universe/Ship.cpp - ../universe/ShipDesign.cpp - ../universe/Special.cpp - ../universe/System.cpp - ../universe/Tech.cpp - ../universe/TopLevelParsers.cpp - ../universe/UniverseObject.cpp - ../universe/ValueRef.cpp - ../universe/ValueRefParser.cpp - ../util/DataTable.cpp - ../util/GZStream.cpp - ../util/MultiplayerCommon.cpp - ../util/OptionsDB.cpp - ../util/Order.cpp - ../util/OrderSet.cpp - ../util/Process.cpp - ../util/Random.cpp - ../util/Serialize.cpp - ../util/SitRepEntry.cpp - ../util/VarText.cpp - ../util/binreloc.c - ../util/Directories.cpp - ../util/XMLDoc.cpp - ../log4cpp/src/Appender.cpp - ../log4cpp/src/AppenderSkeleton.cpp - ../log4cpp/src/BasicLayout.cpp - ../log4cpp/src/Category.cpp - ../log4cpp/src/CategoryStream.cpp - ../log4cpp/src/Configurator.cpp - ../log4cpp/src/FactoryParams.cpp - ../log4cpp/src/FileAppender.cpp - ../log4cpp/src/HierarchyMaintainer.cpp - ../log4cpp/src/LayoutAppender.cpp - ../log4cpp/src/Localtime.cpp - ../log4cpp/src/LoggingEvent.cpp - ../log4cpp/src/NDC.cpp - ../log4cpp/src/PatternLayout.cpp - ../log4cpp/src/Priority.cpp - ../log4cpp/src/StringUtil.cpp - ../log4cpp/src/TimeStamp.cpp - ../log4cpp/src/PThreads.cpp ../combat/CombatSystem.cpp ../network/ServerNetworking.cpp ../server/SaveLoad.cpp @@ -89,8 +14,6 @@ ../server/dmain.cpp ../universe/Universe.cpp ../util/AppInterface.cpp - - ${CMAKE_BINARY_DIR}/util/Version.cpp ) add_definitions(-DFREEORION_BUILD_SERVER) @@ -105,4 +28,4 @@ LABELS "${PROJECT_NAME}" ) -target_link_libraries(freeoriond ${Boost_LIBRARIES} ${ZLIB_LIBRARIES}) +target_link_libraries(freeoriond freeorion_lib ${Boost_LIBRARIES}) |