CMakeLists.txt 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. include_directories(${Boost_INCLUDE_DIRS} ${LUA_INCLUDE_DIR} ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/include ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_HOME_DIRECTORY}/lib)
  2. set(lib_SRCS
  3. StdInc.cpp
  4. LuaReference.cpp
  5. LuaScriptModule.cpp
  6. LuaScriptingContext.cpp
  7. LuaSpellEffect.cpp
  8. LuaStack.cpp
  9. api/battle/UnitProxy.cpp
  10. api/events/BattleEvents.cpp
  11. api/events/EventBusProxy.cpp
  12. api/events/GenericEvents.cpp
  13. api/events/SubscriptionRegistryProxy.cpp
  14. api/netpacks/BattleLogMessage.cpp
  15. api/netpacks/BattleStackMoved.cpp
  16. api/netpacks/BattleUnitsChanged.cpp
  17. api/netpacks/EntitiesChanged.cpp
  18. api/netpacks/InfoWindow.cpp
  19. api/netpacks/SetResources.cpp
  20. api/Artifact.cpp
  21. api/BattleCb.cpp
  22. api/BonusSystem.cpp
  23. api/Creature.cpp
  24. api/Faction.cpp
  25. api/GameCb.cpp
  26. api/HeroClass.cpp
  27. api/HeroInstance.cpp
  28. api/HeroType.cpp
  29. api/Registry.cpp
  30. api/ServerCb.cpp
  31. api/Services.cpp
  32. api/Skill.cpp
  33. api/Spell.cpp
  34. api/StackInstance.cpp
  35. )
  36. set(lib_HDRS
  37. StdInc.h
  38. LuaCallWrapper.h
  39. LuaFunctor.h
  40. LuaReference.h
  41. LuaScriptModule.h
  42. LuaScriptingContext.h
  43. LuaSpellEffect.h
  44. LuaStack.h
  45. LuaWrapper.h
  46. api/battle/UnitProxy.h
  47. api/events/BattleEvents.h
  48. api/events/EventBusProxy.h
  49. api/events/GenericEvents.h
  50. api/events/SubscriptionRegistryProxy.h
  51. api/netpacks/BattleLogMessage.h
  52. api/netpacks/BattleStackMoved.h
  53. api/netpacks/BattleUnitsChanged.h
  54. api/netpacks/EntitiesChanged.h
  55. api/netpacks/InfoWindow.h
  56. api/netpacks/PackForClient.h
  57. api/netpacks/SetResources.h
  58. api/Artifact.h
  59. api/BattleCb.h
  60. api/BonusSystem.h
  61. api/Creature.h
  62. api/Faction.h
  63. api/GameCb.h
  64. api/HeroClass.h
  65. api/HeroInstance.h
  66. api/HeroType.h
  67. api/Registry.h
  68. api/ServerCb.h
  69. api/Services.h
  70. api/Skill.h
  71. api/Spell.h
  72. api/StackInstance.h
  73. )
  74. add_library(vcmiLua SHARED ${lib_SRCS} ${lib_HDRS})
  75. target_link_libraries(vcmiLua Boost::boost luajit::luajit vcmi)
  76. vcmi_set_output_dir(vcmiLua "scripting")
  77. enable_pch(vcmiLua)
  78. if(APPLE_IOS)
  79. install(TARGETS vcmiLua LIBRARY DESTINATION ${SCRIPTING_LIB_DIR})
  80. else()
  81. install(TARGETS vcmiLua DESTINATION ${SCRIPTING_LIB_DIR})
  82. endif()
  83. #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
  84. if(MSVC)
  85. if(EXISTS ${LUA_INCLUDE_DIR}/../../bin/lua51.dll)
  86. file(COPY ${LUA_INCLUDE_DIR}/../../bin/lua51.dll DESTINATION ${CMAKE_BINARY_DIR}/bin)
  87. endif()
  88. endif()