diff options
Diffstat (limited to 'CMake/GenerateBindings.cmake')
-rw-r--r-- | CMake/GenerateBindings.cmake | 220 |
1 files changed, 111 insertions, 109 deletions
diff --git a/CMake/GenerateBindings.cmake b/CMake/GenerateBindings.cmake index 153f1a58a..584ad1b66 100644 --- a/CMake/GenerateBindings.cmake +++ b/CMake/GenerateBindings.cmake @@ -1,112 +1,114 @@ -# Enumerate every Lua-exported class. -# Changes to these files will cause binding regen: -set(BINDING_DEPENDENCIES - Bindings/AllToLua.pkg - Bindings/BindingsProcessor.lua - Bindings/LuaFunctions.h - Bindings/LuaWindow.h - Bindings/Plugin.h - Bindings/PluginLua.h - Bindings/PluginManager.h - BiomeDef.h - BlockArea.h - BlockEntities/BeaconEntity.h - BlockEntities/BedEntity.h - BlockEntities/BlockEntity.h - BlockEntities/BlockEntityWithItems.h - BlockEntities/BrewingstandEntity.h - BlockEntities/ChestEntity.h - BlockEntities/CommandBlockEntity.h - BlockEntities/DispenserEntity.h - BlockEntities/DropSpenserEntity.h - BlockEntities/DropperEntity.h - BlockEntities/FurnaceEntity.h - BlockEntities/HopperEntity.h - BlockEntities/JukeboxEntity.h - BlockEntities/MobSpawnerEntity.h - BlockEntities/NoteEntity.h - BlockEntities/SignEntity.h - BlockEntities/MobHeadEntity.h - BlockEntities/FlowerPotEntity.h - BlockType.h - BlockInfo.h - BoundingBox.h - ChatColor.h - ChunkDef.h - ClientHandle.h - Color.h - CompositeChat.h - CraftingRecipes.h - Cuboid.h - Defines.h - EffectID.h - Enchantments.h - Entities/Boat.h - Entities/ArrowEntity.h - Entities/Entity.h - Entities/ExpOrb.h - Entities/EntityEffect.h - Entities/ExpBottleEntity.h - Entities/FallingBlock.h - Entities/FireChargeEntity.h - Entities/FireworkEntity.h - Entities/Floater.h - Entities/GhastFireballEntity.h - Entities/HangingEntity.h - Entities/ItemFrame.h - Entities/LeashKnot.h - Entities/Pawn.h - Entities/Player.h - Entities/Painting.h - Entities/Pickup.h - Entities/ProjectileEntity.h - Entities/SplashPotionEntity.h - Entities/ThrownEggEntity.h - Entities/ThrownEnderPearlEntity.h - Entities/ThrownSnowballEntity.h - Entities/TNTEntity.h - Entities/WitherSkullEntity.h - Generating/ChunkDesc.h - IniFile.h - Inventory.h - Item.h - ItemGrid.h - Map.h - MapManager.h - Mobs/Monster.h - Mobs/MonsterTypes.h - OSSupport/File.h - Protocol/MojangAPI.h - Root.h - Scoreboard.h - Server.h - Statistics.h - StringUtils.h - UI/Window.h - UUID.h - Vector3.h - WebAdmin.h - World.h -) +function(enable_bindings_generation) + # Enumerate every Lua-exported class. + # Changes to these files will cause binding regen: + set(BINDING_DEPENDENCIES + Bindings/AllToLua.pkg + Bindings/BindingsProcessor.lua + Bindings/LuaFunctions.h + Bindings/LuaWindow.h + Bindings/Plugin.h + Bindings/PluginLua.h + Bindings/PluginManager.h + BiomeDef.h + BlockArea.h + BlockEntities/BeaconEntity.h + BlockEntities/BedEntity.h + BlockEntities/BlockEntity.h + BlockEntities/BlockEntityWithItems.h + BlockEntities/BrewingstandEntity.h + BlockEntities/ChestEntity.h + BlockEntities/CommandBlockEntity.h + BlockEntities/DispenserEntity.h + BlockEntities/DropSpenserEntity.h + BlockEntities/DropperEntity.h + BlockEntities/FurnaceEntity.h + BlockEntities/HopperEntity.h + BlockEntities/JukeboxEntity.h + BlockEntities/MobSpawnerEntity.h + BlockEntities/NoteEntity.h + BlockEntities/SignEntity.h + BlockEntities/MobHeadEntity.h + BlockEntities/FlowerPotEntity.h + BlockType.h + BlockInfo.h + BoundingBox.h + ChatColor.h + ChunkDef.h + ClientHandle.h + Color.h + CompositeChat.h + CraftingRecipes.h + Cuboid.h + Defines.h + EffectID.h + Enchantments.h + Entities/Boat.h + Entities/ArrowEntity.h + Entities/Entity.h + Entities/ExpOrb.h + Entities/EntityEffect.h + Entities/ExpBottleEntity.h + Entities/FallingBlock.h + Entities/FireChargeEntity.h + Entities/FireworkEntity.h + Entities/Floater.h + Entities/GhastFireballEntity.h + Entities/HangingEntity.h + Entities/ItemFrame.h + Entities/LeashKnot.h + Entities/Pawn.h + Entities/Player.h + Entities/Painting.h + Entities/Pickup.h + Entities/ProjectileEntity.h + Entities/SplashPotionEntity.h + Entities/ThrownEggEntity.h + Entities/ThrownEnderPearlEntity.h + Entities/ThrownSnowballEntity.h + Entities/TNTEntity.h + Entities/WitherSkullEntity.h + Generating/ChunkDesc.h + IniFile.h + Inventory.h + Item.h + ItemGrid.h + Map.h + MapManager.h + Mobs/Monster.h + Mobs/MonsterTypes.h + OSSupport/File.h + Protocol/MojangAPI.h + Root.h + Scoreboard.h + Server.h + Statistics.h + StringUtils.h + UI/Window.h + UUID.h + Vector3.h + WebAdmin.h + World.h + ) -# List all the files that are generated as part of the Bindings build process: -set(BINDING_OUTPUTS - Bindings.cpp - Bindings.h - LuaState_Declaration.inc - LuaState_Implementation.cpp - LuaState_Typedefs.inc -) + # List all the files that are generated as part of the Bindings build process: + set(BINDING_OUTPUTS + Bindings.cpp + Bindings.h + LuaState_Declaration.inc + LuaState_Implementation.cpp + LuaState_Typedefs.inc + ) -# Make the file paths absolute and pointing to the bindings folder: -set(BINDINGS_FOLDER "${PROJECT_SOURCE_DIR}/src/Bindings/") -list(TRANSFORM BINDING_OUTPUTS PREPEND ${BINDINGS_FOLDER}) -list(TRANSFORM BINDING_DEPENDENCIES PREPEND "${PROJECT_SOURCE_DIR}/src/") + # Make the file paths absolute and pointing to the bindings folder: + set(BINDINGS_FOLDER "${PROJECT_SOURCE_DIR}/src/Bindings/") + list(TRANSFORM BINDING_OUTPUTS PREPEND ${BINDINGS_FOLDER}) + list(TRANSFORM BINDING_DEPENDENCIES PREPEND "${PROJECT_SOURCE_DIR}/src/") -# Generate the bindings: -add_custom_command( - OUTPUT ${BINDING_OUTPUTS} - COMMAND luaexe BindingsProcessor.lua - WORKING_DIRECTORY ${BINDINGS_FOLDER} - DEPENDS ${BINDING_DEPENDENCIES} luaexe -) + # Generate the bindings: + add_custom_command( + OUTPUT ${BINDING_OUTPUTS} + COMMAND luaexe BindingsProcessor.lua + WORKING_DIRECTORY ${BINDINGS_FOLDER} + DEPENDS ${BINDING_DEPENDENCIES} luaexe + ) +endfunction() |