-- 设置项目基本配置 add_rules("mode.debug", "mode.release") add_languages("c++20") set_policy("package.install_locally", true) -- 包含 SDK 的构建配置 includes("AbilitySDK/xmake.lua") add_requires("wiringPi") add_requires("my-libmodbus",{alias="libmodbus"}) add_requires("jsoncpp") add_requires("protobuf-cpp") add_requires("grpc") add_requires("abseil", {alias = "abseil"}) includes("package-index.lua") -- 添加包含路径 add_includedirs("AbilitySDK/include") target("protos") set_kind("object") add_packages("protobuf-cpp","grpc",{public=true}) add_rules("protobuf.cpp") add_files("protos/conveyorBelt.proto", {proto_public=true,proto_rootdir = "protos", proto_grpc_cpp_plugin = true}) -- 这是旧版api使用的protos,移植到新版后可以去除 add_files("protos/abilityProto.proto", {proto_public=true,proto_rootdir = "protos", proto_grpc_cpp_plugin = true}) -- ConveyorBeltControlUnit 库 target("conveyor-control-unit") set_kind("static") add_includedirs("ConveyorBeltControlUnit/include", {public = true}) add_files("ConveyorBeltControlUnit/src/*.cpp") --add_packages("cpp-httplib","jsoncpp","glog","libmodbus","wiringPi","abseil",{public=true}) add_packages("cpp-httplib","jsoncpp","glog","libmodbus","abseil",{public=true}) -- ConveyorBeltAbility 库 target("conveyor-ability") set_kind("binary") add_includedirs("ConveyorBeltAbility/include", {public = true}) add_files("ConveyorBeltAbility/src/*.cpp") add_deps("AbilitySDK", "conveyor-control-unit", "protos") add_packages("cpp-httplib","jsoncpp","glog","abseil",{public=true}) -- ConveyorBeltController 库 target("conveyor-controller") set_kind("binary") add_includedirs("ConveyorBeltControlUnit/include", {public = true}) add_includedirs("ConveyorBeltController/include", {public = true}) add_files("ConveyorBeltController/src/*.cpp") add_deps("AbilitySDK", "protos") add_packages("cpp-httplib","jsoncpp","libmodbus","glog","abseil",{public=true})