1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
### Legacy C++ AI Wrapper
#
# Global variables set in this file:
# * BUILD_LegacyCpp_AIWRAPPER
# * LegacyCpp_AIWRAPPER_TARGET
# * LegacyCpp_Creg_AIWRAPPER_TARGET
#
set(mySourceDirRel "")
# Check if the user wants to compile the wrapper
if ("${AI_TYPES}" STREQUAL "ALL" OR "${AI_TYPES}" STREQUAL "NATIVE")
set(AIWRAPPERS_NATIVE TRUE)
else ("${AI_TYPES}" STREQUAL "ALL" OR "${AI_TYPES}" STREQUAL "NATIVE")
set(AIWRAPPERS_NATIVE FALSE)
endif ("${AI_TYPES}" STREQUAL "ALL" OR "${AI_TYPES}" STREQUAL "NATIVE")
# Check dependencies of the wrapper are met
if (AIWRAPPERS_NATIVE)
SetGlobal(BUILD_${myName}_AIWRAPPER TRUE)
else (AIWRAPPERS_NATIVE)
SetGlobal(BUILD_${myName}_AIWRAPPER FALSE)
message ("warning: Legacy C++ AI Wrapper will not be built!")
endif (AIWRAPPERS_NATIVE)
# Build
if (BUILD_${myName}_AIWRAPPER)
set(myDir "${CMAKE_CURRENT_SOURCE_DIR}")
GetLastPathPart(dirName ${myDir})
set(myName "${dirName}")
set(myTarget "${myName}-AIWrapper")
set(myCregTarget "${myName}-Creg-AIWrapper")
MakeAbsolute(mySourceDir "${myDir}" "${mySourceDirRel}")
AIWrapperMessage(STATUS "Found AI Wrapper: ${myTarget}")
AIWrapperMessage(STATUS "Found AI Wrapper: ${myCregTarget}")
SetGlobal(${myName}_AIWRAPPER_TARGET ${myTarget})
SetGlobal(${myName}_Creg_AIWRAPPER_TARGET ${myCregTarget})
# Assemble the Legacy C++ AI sources
set(mySources
"${mySourceDir}/AIAI"
"${mySourceDir}/AIAICallback"
"${mySourceDir}/AIAICheats"
"${mySourceDir}/AIGlobalAICallback"
"${mySourceDir}/Command"
"${mySourceDir}/CommandQueue"
"${mySourceDir}/DamageArray"
"${mySourceDir}/MoveData"
"${mySourceDir}/UnitDef"
"${rts}/ExternalAI/AISCommands"
"${rts}/System/float3"
${ai_common_SRC}
)
# Compile the Legacy C++ AI wrapper static library
add_library(${myTarget} STATIC ${mySources})
set_target_properties(${myTarget} PROPERTIES OUTPUT_NAME "${myName}")
Add_Dependencies(${myTarget} generateVersionFiles)
# Compile the Legacy C++ AI wrapper static library with creg support
add_library(${myCregTarget} STATIC ${mySources} ${sources_engine_System_creg})
set_target_properties(${myCregTarget} PROPERTIES OUTPUT_NAME "${myName}Creg")
set_target_properties(${myCregTarget} PROPERTIES COMPILE_FLAGS "-DUSING_CREG")
endif (BUILD_${myName}_AIWRAPPER)
|