1234567891011121314151617181920212223242526272829303132 |
- package("asio")
- set_kind("library", {headeronly = true})
- set_homepage("http://think-async.com/Asio/")
- set_description("Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.")
- set_license("BSL-1.0")
- add_urls("https://sourceforge.net/projects/asio/files/asio/$(version) (Stable)/asio-$(version).tar.gz", {alias = "sourceforge"})
- add_urls("https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-$(version).tar.gz", {alias = "github", version = function (version) return version:gsub("%.", "-") end})
- add_versions("github:1.21.0", "5d2d2dcb7bfb39bff941cabbfc8c27ee322a495470bf0f3a7c5238648cf5e6a9")
- add_versions("sourceforge:1.20.0", "4cd5cd0ad97e752a4075f02778732a3737b587f5eeefab59cd98dc43b0dcadb3")
- add_versions("github:1.20.0", "34a8f07be6f54e3753874d46ecfa9b7ab7051c4e3f67103c52a33dfddaea48e6")
- on_install(function (package)
- if os.isdir("asio") then
- os.cp("asio/include/asio.hpp", package:installdir("include"))
- os.cp("asio/include/asio", package:installdir("include"))
- else
- os.cp("include/asio.hpp", package:installdir("include"))
- os.cp("include/asio", package:installdir("include"))
- end
- end)
- on_test(function (package)
- assert(package:check_cxxsnippets({test = [[
- void test() {
- asio::io_context io_context;
- asio::steady_timer timer(io_context);
- timer.expires_at(asio::steady_timer::clock_type::time_point::min());
- }
- ]]}, {configs = {languages = "c++14"}, includes = "asio.hpp"}))
- end)
|