|
@@ -7,29 +7,26 @@ package("quickcpplib")
|
|
|
add_urls("https://github.com/ned14/quickcpplib.git")
|
|
|
add_versions("20221116", "52163d5a198f1d0a2583e683f090778686f9f998")
|
|
|
|
|
|
- add_configs("header_only", {description = "Use header only version. (not supported atm)", default = false, type = "boolean", readonly = true})
|
|
|
-
|
|
|
- add_deps("cmake")
|
|
|
on_install(function (package)
|
|
|
- local configs = {"-DPROJECT_IS_DEPENDENCY=ON"}
|
|
|
- io.replace("CMakeLists.txt", "include(QuickCppLibMakeStandardTests)", "", {plain = true})
|
|
|
- io.replace("CMakeLists.txt", "include(QuickCppLibMakeDoxygen)", "", {plain = true})
|
|
|
- table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
|
|
|
- local target = "quickcpplib_"
|
|
|
- if package:config("header_only") then
|
|
|
- target = target .. "hl"
|
|
|
- else
|
|
|
- target = target .. (package:config("shared") and "_dl" or "_sl")
|
|
|
- end
|
|
|
- import("package.tools.cmake").install(package, configs, { target = target })
|
|
|
+ io.writefile("xmake.lua", [[
|
|
|
+ target("quickcpplib")
|
|
|
+ set_kind("headeronly")
|
|
|
+ add_headerfiles("include/(quickcpplib/**.hpp)")
|
|
|
+ add_headerfiles("include/(quickcpplib/**.h)")
|
|
|
+ add_headerfiles("include/(quickcpplib/**.ixx)")
|
|
|
+ add_headerfiles("include/(quickcpplib/**.ipp)")
|
|
|
+ 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 <quickcpplib/uint128.hpp>
|
|
|
void test () {
|
|
|
auto bar = QUICKCPPLIB_NAMESPACE::integers128::uint128{};
|
|
|
}
|
|
|
- ]]}, {configs = {languages = "c++17"}}))
|
|
|
+ ]]}, {configs = {languages = "c++17", cxxflags = cxxflags}}))
|
|
|
end)
|
|
|
|