add_rules("mode.debug", "mode.release") add_requires("fmt", "nlohmann_json", "openssl", "zlib") option("coro", {default = false}) option("voice", {default = true}) if has_config("voice") then add_requires("libopus", "libsodium") end target("dpp") set_kind("$(kind)") add_includedirs("include", "include/dpp") add_headerfiles("include/(dpp/**.h)") add_files("src/dpp/**.cpp") add_packages("fmt", "nlohmann_json", "openssl", "zlib") if has_config("voice") then add_packages("libopus", "libsodium") add_defines("HAVE_VOICE") end if has_config("coro") then add_defines("DPP_CORO") end local target_cpp_lang = "c++17" if has_config("coro") then target_cpp_lang = "c++20" end set_languages(target_cpp_lang) add_defines("DPP_BUILD", "DPP_USE_EXTERNAL_JSON") if is_plat("windows", "mingw") then add_defines("WIN32", "_WINSOCK_DEPRECATED_NO_WARNINGS", "WIN32_LEAN_AND_MEAN") add_defines("_CRT_SECURE_NO_WARNINGS", "_CRT_NONSTDC_NO_DEPRECATE") add_defines("FD_SETSIZE=1024") if is_plat("windows") then add_cxflags("/Zc:preprocessor") end if is_kind("static") then add_defines("DPP_STATIC", {public = true}) end end