|
@@ -13,6 +13,7 @@ package("glob")
|
|
on_load(function (package)
|
|
on_load(function (package)
|
|
if package:config("ghc_filesystem") then
|
|
if package:config("ghc_filesystem") then
|
|
package:add("deps", "ghc_filesystem")
|
|
package:add("deps", "ghc_filesystem")
|
|
|
|
+ package:add("defines", "GLOB_USE_GHC_FILESYSTEM")
|
|
end
|
|
end
|
|
if package:config("header_only") then
|
|
if package:config("header_only") then
|
|
package:set("kind", "library", {headeronly = true})
|
|
package:set("kind", "library", {headeronly = true})
|
|
@@ -20,22 +21,34 @@ package("glob")
|
|
end)
|
|
end)
|
|
|
|
|
|
on_install(function (package)
|
|
on_install(function (package)
|
|
- if package:config("ghc_filesystem") then
|
|
|
|
- package:add("defines", "GLOB_USE_GHC_FILESYSTEM")
|
|
|
|
- end
|
|
|
|
if package:config("header_only") then
|
|
if package:config("header_only") then
|
|
os.cp("single_include/glob", package:installdir("include"))
|
|
os.cp("single_include/glob", package:installdir("include"))
|
|
else
|
|
else
|
|
|
|
+ local configs = {}
|
|
|
|
+ if package:config("ghc_filesystem") then
|
|
|
|
+ configs.ghc_filesystem = true
|
|
|
|
+ end
|
|
io.writefile("xmake.lua", [[
|
|
io.writefile("xmake.lua", [[
|
|
add_rules("mode.debug", "mode.release")
|
|
add_rules("mode.debug", "mode.release")
|
|
|
|
+ option("ghc_filesystem", {default = false, showmenu = true, description = "Use ghc_filesystem"})
|
|
|
|
+ if has_config("ghc_filesystem") then
|
|
|
|
+ add_requires("ghc_filesystem")
|
|
|
|
+ add_defines("GLOB_USE_GHC_FILESYSTEM")
|
|
|
|
+ end
|
|
target("glob")
|
|
target("glob")
|
|
set_kind("$(kind)")
|
|
set_kind("$(kind)")
|
|
set_languages("cxx17")
|
|
set_languages("cxx17")
|
|
|
|
+ if has_config("ghc_filesystem") then
|
|
|
|
+ add_packages("ghc_filesystem")
|
|
|
|
+ end
|
|
add_headerfiles("include/(glob/*.h)")
|
|
add_headerfiles("include/(glob/*.h)")
|
|
add_files("source/*.cpp")
|
|
add_files("source/*.cpp")
|
|
add_includedirs("include", {public = true})
|
|
add_includedirs("include", {public = true})
|
|
|
|
+ if is_plat("windows") and is_kind("shared") then
|
|
|
|
+ add_rules("utils.symbols.export_all", {export_classes = true})
|
|
|
|
+ end
|
|
]])
|
|
]])
|
|
- import("package.tools.xmake").install(package)
|
|
|
|
|
|
+ import("package.tools.xmake").install(package, configs)
|
|
end
|
|
end
|
|
end)
|
|
end)
|
|
|
|
|