|
@@ -1,11 +1,11 @@
|
|
package("drogon")
|
|
package("drogon")
|
|
-
|
|
|
|
set_homepage("https://github.com/an-tao/drogon/")
|
|
set_homepage("https://github.com/an-tao/drogon/")
|
|
set_description("Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows")
|
|
set_description("Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows")
|
|
set_license("MIT")
|
|
set_license("MIT")
|
|
|
|
|
|
add_urls("https://github.com/an-tao/drogon/archive/refs/tags/$(version).tar.gz",
|
|
add_urls("https://github.com/an-tao/drogon/archive/refs/tags/$(version).tar.gz",
|
|
- "https://github.com/an-tao/drogon.git")
|
|
|
|
|
|
+ "https://github.com/an-tao/drogon.git", {submodules = false})
|
|
|
|
+
|
|
add_versions("v1.9.10", "5de93fe16682388f363bb4b26ab00b0253d39108d8e7f53d5637c1b7da59a48f")
|
|
add_versions("v1.9.10", "5de93fe16682388f363bb4b26ab00b0253d39108d8e7f53d5637c1b7da59a48f")
|
|
add_versions("v1.9.9", "4155f78196902ef2f9d06b708897c9e8acaa1536cc4a8c8da9726ceb8ada2aaf")
|
|
add_versions("v1.9.9", "4155f78196902ef2f9d06b708897c9e8acaa1536cc4a8c8da9726ceb8ada2aaf")
|
|
add_versions("v1.9.8", "62332a4882cc7db1c7cf04391b65c91ddf6fcbb49af129fc37eb0130809e0449")
|
|
add_versions("v1.9.8", "62332a4882cc7db1c7cf04391b65c91ddf6fcbb49af129fc37eb0130809e0449")
|
|
@@ -53,16 +53,16 @@ package("drogon")
|
|
|
|
|
|
add_deps("cmake")
|
|
add_deps("cmake")
|
|
add_deps("jsoncpp", "brotli", "zlib")
|
|
add_deps("jsoncpp", "brotli", "zlib")
|
|
|
|
+ if not is_plat("windows") then
|
|
|
|
+ add_deps("libuuid")
|
|
|
|
+ end
|
|
|
|
|
|
if is_plat("windows") then
|
|
if is_plat("windows") then
|
|
-- enable mtt for drogon
|
|
-- enable mtt for drogon
|
|
set_policy("package.msbuild.multi_tool_task", true)
|
|
set_policy("package.msbuild.multi_tool_task", true)
|
|
add_syslinks("ws2_32", "rpcrt4", "crypt32", "advapi32", "iphlpapi")
|
|
add_syslinks("ws2_32", "rpcrt4", "crypt32", "advapi32", "iphlpapi")
|
|
- else
|
|
|
|
- add_deps("libuuid")
|
|
|
|
- if is_plat("linux") then
|
|
|
|
- add_syslinks("pthread", "dl")
|
|
|
|
- end
|
|
|
|
|
|
+ elseif is_plat("linux") then
|
|
|
|
+ add_syslinks("pthread", "dl")
|
|
end
|
|
end
|
|
|
|
|
|
on_load(function(package)
|
|
on_load(function(package)
|
|
@@ -90,46 +90,39 @@ package("drogon")
|
|
end
|
|
end
|
|
end)
|
|
end)
|
|
|
|
|
|
- on_install("windows|!arm*", "macosx", "linux", function (package)
|
|
|
|
|
|
+ on_install("windows", "macosx", "linux", function (package)
|
|
|
|
+ if package:is_plat("macosx") and package:is_arch("x86_64") then
|
|
|
|
+ wprint([[package(drogon) unsupported cmake4 on macos/x86, please use `add_requireconfs("**.cmake", {override = true, version = "<4.0.0"})`]])
|
|
|
|
+ end
|
|
|
|
+
|
|
io.replace("cmake/templates/config.h.in", "\"@COMPILATION_FLAGS@@DROGON_CXX_STANDARD@\"", "R\"(@COMPILATION_FLAGS@@DROGON_CXX_STANDARD@)\"", {plain = true})
|
|
io.replace("cmake/templates/config.h.in", "\"@COMPILATION_FLAGS@@DROGON_CXX_STANDARD@\"", "R\"(@COMPILATION_FLAGS@@DROGON_CXX_STANDARD@)\"", {plain = true})
|
|
io.replace("cmake_modules/FindMySQL.cmake", "PATH_SUFFIXES mysql", "PATH_SUFFIXES mysql mariadb", {plain = true})
|
|
io.replace("cmake_modules/FindMySQL.cmake", "PATH_SUFFIXES mysql", "PATH_SUFFIXES mysql mariadb", {plain = true})
|
|
|
|
|
|
- local configs = {"-DBUILD_EXAMPLES=OFF"}
|
|
|
|
- local version = package:version()
|
|
|
|
- if version:ge("1.8.4") then
|
|
|
|
- table.insert(configs, "-DUSE_SUBMODULE=OFF")
|
|
|
|
- end
|
|
|
|
- table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
|
|
|
|
-
|
|
|
|
- -- no support for windows shared library
|
|
|
|
- if not package:is_plat("windows") then
|
|
|
|
- local shared = package:config("shared") and "ON" or "OFF"
|
|
|
|
- if version:ge("1.8.0") then
|
|
|
|
- table.insert(configs, "-DBUILD_SHARED_LIBS=" .. shared)
|
|
|
|
- else
|
|
|
|
- table.insert(configs, "-DBUILD_DROGON_SHARED=" .. shared)
|
|
|
|
- end
|
|
|
|
- end
|
|
|
|
|
|
+ local configs = {
|
|
|
|
+ "-DBUILD_EXAMPLES=OFF",
|
|
|
|
+ "-DUSE_SUBMODULE=OFF",
|
|
|
|
+ "-DBUILD_EXAMPLES=OFF",
|
|
|
|
+ }
|
|
|
|
+ table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
|
|
|
|
+ table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
|
|
|
|
+ table.insert(configs, "-DBUILD_DROGON_SHARED=" .. (package:config("shared") and "ON" or "OFF"))
|
|
|
|
+ table.insert(configs, "-DBUILD_CTL=" .. (package:is_cross() and "OFF" or "ON"))
|
|
|
|
|
|
for name, enabled in pairs(package:configs()) do
|
|
for name, enabled in pairs(package:configs()) do
|
|
if not package:extraconf("configs", name, "builtin") then
|
|
if not package:extraconf("configs", name, "builtin") then
|
|
- if name == "sqlite3" then
|
|
|
|
- table.insert(configs, "-DBUILD_SQLITE=" .. (enabled and "ON" or "OFF"))
|
|
|
|
- elseif name == "yaml" then
|
|
|
|
- if version:ge("1.8.4") then
|
|
|
|
- table.insert(configs, "-DBUILD_YAML_CONFIG=" .. (enabled and "ON" or "OFF"))
|
|
|
|
- end
|
|
|
|
- elseif name == "cpp20" then
|
|
|
|
- table.insert(configs, "-DCMAKE_CXX_STANDARD=20")
|
|
|
|
- else
|
|
|
|
- table.insert(configs, "-DBUILD_" .. name:upper() .. "=" .. (enabled and "ON" or "OFF"))
|
|
|
|
|
|
+ if name == "sqlite3" then
|
|
|
|
+ table.insert(configs, "-DBUILD_SQLITE=" .. (enabled and "ON" or "OFF"))
|
|
|
|
+ elseif name == "yaml" then
|
|
|
|
+ if package:version():ge("1.8.4") then
|
|
|
|
+ table.insert(configs, "-DBUILD_YAML_CONFIG=" .. (enabled and "ON" or "OFF"))
|
|
end
|
|
end
|
|
|
|
+ elseif name == "cpp20" then
|
|
|
|
+ table.insert(configs, "-DCMAKE_CXX_STANDARD=20")
|
|
|
|
+ else
|
|
|
|
+ table.insert(configs, "-DBUILD_" .. name:upper() .. "=" .. (enabled and "ON" or "OFF"))
|
|
|
|
+ end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
-
|
|
|
|
- if package:config("pic") ~= false then
|
|
|
|
- table.insert(configs, "-DCMAKE_POSITION_INDEPENDENT_CODE=ON")
|
|
|
|
- end
|
|
|
|
import("package.tools.cmake").install(package, configs)
|
|
import("package.tools.cmake").install(package, configs)
|
|
end)
|
|
end)
|
|
|
|
|