File: CMakeLists.txt

package info (click to toggle)
spring 106.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 55,260 kB
  • sloc: cpp: 543,946; ansic: 44,800; python: 12,575; java: 12,201; awk: 5,889; sh: 1,796; asm: 1,546; xml: 655; perl: 405; php: 211; objc: 194; makefile: 76; sed: 2
file content (70 lines) | stat: -rw-r--r-- 2,213 bytes parent folder | download | duplicates (2)
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 ()
	set(AIWRAPPERS_NATIVE FALSE)
endif ()


# Check dependencies of the wrapper are met
if    (AIWRAPPERS_NATIVE)
	set_global(BUILD_${myName}_AIWRAPPER TRUE)
else ()
	set_global(BUILD_${myName}_AIWRAPPER FALSE)
	message ("warning: Legacy C++ AI Wrapper will not be built!")
endif ()


# Build
if    (BUILD_${myName}_AIWRAPPER)
	set(myDir        "${CMAKE_CURRENT_SOURCE_DIR}")
	get_last_path_part(dirName ${myDir})
	set(myName       "${dirName}")
	set(myTarget     "${myName}-AIWrapper")
	set(myCregTarget "${myName}-Creg-AIWrapper")
	make_absolute(mySourceDir "${myDir}" "${mySourceDirRel}")

	ai_wrapper_message(STATUS "Found AI Wrapper: ${myTarget}")
	ai_wrapper_message(STATUS "Found AI Wrapper: ${myCregTarget}")

	set_global(${myName}_AIWRAPPER_TARGET      ${myTarget})
	set_global(${myName}_Creg_AIWRAPPER_TARGET ${myCregTarget})

	# Assemble the Legacy C++ AI sources
	set(mySources
		"${mySourceDir}/AIAI.cpp"
		"${mySourceDir}/AIAICallback.cpp"
		"${mySourceDir}/AIAICheats.cpp"
		"${mySourceDir}/AIGlobalAICallback.cpp"
		"${mySourceDir}/DamageArray.cpp"
		"${mySourceDir}/MoveData.cpp"
		"${mySourceDir}/UnitDef.cpp"
		"${rts}/ExternalAI/AISCommands.cpp"
		"${rts}/Sim/Units/CommandAI/Command.cpp"
		"${rts}/System/float3.cpp"
		${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})
	add_dependencies(${myCregTarget} generateVersionFiles)
	set_target_properties(${myCregTarget} PROPERTIES OUTPUT_NAME   "${myName}Creg")
	set_target_properties(${myCregTarget} PROPERTIES COMPILE_FLAGS "-DUSING_CREG")
endif ()