|
@@ -1,4 +1,5 @@
|
|
|
package("outcome")
|
|
|
+ set_kind("library", {headeronly = true})
|
|
|
set_homepage("https://github.com/ned14/outcome")
|
|
|
set_description("Provides very lightweight outcome<T> and result<T> (non-Boost edition)")
|
|
|
set_license("Apache-2.0")
|
|
@@ -18,15 +19,24 @@ package("outcome")
|
|
|
add_versions(version, commit)
|
|
|
end
|
|
|
|
|
|
- add_deps("cmake")
|
|
|
add_deps("quickcpplib")
|
|
|
on_install(function (package)
|
|
|
- local configs = {"-DOUTCOME_ENABLE_DEPENDENCY_SMOKE_TEST=OFF", "-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON", "-DPROJECT_IS_DEPENDENCY=ON"}
|
|
|
- table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
|
|
|
- import("package.tools.cmake").install(package, configs)
|
|
|
+ io.writefile("xmake.lua", [[
|
|
|
+ add_requires("quickcpplib")
|
|
|
+ target("outcome")
|
|
|
+ set_kind("headeronly")
|
|
|
+ add_packages("quickcpplib")
|
|
|
+ add_headerfiles("include/(outcome/**.hpp)")
|
|
|
+ add_headerfiles("include/(outcome/**.ixx)")
|
|
|
+ add_headerfiles("include/(outcome/**.ipp)")
|
|
|
+ add_headerfiles("include/(outcome/**.h)")
|
|
|
+ add_includedirs("include")
|
|
|
+ ]])
|
|
|
+ import("package.tools.xmake").install(package)
|
|
|
end)
|
|
|
|
|
|
on_test(function (package)
|
|
|
+ local cxxflags = package:has_tool("cxx", "clang", "clangxx") and {"-fsized-deallocation"} or {}
|
|
|
assert(package:check_cxxsnippets({test = [[
|
|
|
#include <outcome/outcome.hpp>
|
|
|
void test () {
|
|
@@ -36,5 +46,5 @@ package("outcome")
|
|
|
(void) f;
|
|
|
(void) m;
|
|
|
}
|
|
|
- ]]}, {configs = {languages = "c++17"}}))
|
|
|
+ ]]}, {configs = {languages = "c++17", cxxflags = cxxflags}}))
|
|
|
end)
|