File: CMakeLists.txt

package info (click to toggle)
vcmi 1.6.5%2Bdfsg-2
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid, trixie
  • size: 32,060 kB
  • sloc: cpp: 238,971; python: 265; sh: 224; xml: 157; ansic: 78; objc: 61; makefile: 49
file content (102 lines) | stat: -rw-r--r-- 2,464 bytes parent folder | download
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
include_directories(${Boost_INCLUDE_DIRS} ${LUA_INCLUDE_DIR} ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_HOME_DIRECTORY}/lib)

set(lib_SRCS
		StdInc.cpp
		LuaReference.cpp
		LuaScriptModule.cpp
		LuaScriptingContext.cpp
		LuaSpellEffect.cpp
		LuaStack.cpp

		api/battle/UnitProxy.cpp

		api/events/BattleEvents.cpp
		api/events/EventBusProxy.cpp
		api/events/GenericEvents.cpp
		api/events/SubscriptionRegistryProxy.cpp

		api/netpacks/BattleLogMessage.cpp
		api/netpacks/BattleStackMoved.cpp
		api/netpacks/BattleUnitsChanged.cpp
		api/netpacks/EntitiesChanged.cpp
		api/netpacks/InfoWindow.cpp
		api/netpacks/SetResources.cpp

		api/Artifact.cpp
		api/BattleCb.cpp
		api/BonusSystem.cpp
		api/Creature.cpp
		api/Faction.cpp
		api/GameCb.cpp
		api/HeroClass.cpp
		api/HeroInstance.cpp
		api/HeroType.cpp
		api/Registry.cpp
		api/ServerCb.cpp
		api/Services.cpp
		api/Skill.cpp
		api/Spell.cpp
		api/StackInstance.cpp
)

set(lib_HDRS
		StdInc.h
		LuaCallWrapper.h
		LuaFunctor.h
		LuaReference.h
		LuaScriptModule.h
		LuaScriptingContext.h
		LuaSpellEffect.h
		LuaStack.h
		LuaWrapper.h

		api/battle/UnitProxy.h

		api/events/BattleEvents.h
		api/events/EventBusProxy.h
		api/events/GenericEvents.h
		api/events/SubscriptionRegistryProxy.h

		api/netpacks/BattleLogMessage.h
		api/netpacks/BattleStackMoved.h
		api/netpacks/BattleUnitsChanged.h
		api/netpacks/EntitiesChanged.h
		api/netpacks/InfoWindow.h
		api/netpacks/PackForClient.h
		api/netpacks/SetResources.h

		api/Artifact.h
		api/BattleCb.h
		api/BonusSystem.h
		api/Creature.h
		api/Faction.h
		api/GameCb.h
		api/HeroClass.h
		api/HeroInstance.h
		api/HeroType.h
		api/Registry.h
		api/ServerCb.h
		api/Services.h
		api/Skill.h
		api/Spell.h
		api/StackInstance.h
)

add_library(vcmiLua SHARED ${lib_SRCS} ${lib_HDRS})
target_link_libraries(vcmiLua Boost::boost luajit::luajit vcmi)

vcmi_set_output_dir(vcmiLua "scripting")
enable_pch(vcmiLua)

if(APPLE_IOS)
	install(TARGETS vcmiLua LIBRARY DESTINATION ${SCRIPTING_LIB_DIR})
else()
	install(TARGETS vcmiLua DESTINATION ${SCRIPTING_LIB_DIR})
endif()

#manually copy lua dll from vcpkg folder to build directory on windows since vcpkg deps copy feature has flaws, using hardcoded paths based on vcmi windows deps package 1.1 from github
if(MSVC)
	if(EXISTS ${LUA_INCLUDE_DIR}/../../bin/lua51.dll)
		file(COPY ${LUA_INCLUDE_DIR}/../../bin/lua51.dll DESTINATION ${CMAKE_BINARY_DIR}/bin)
	endif()
endif()