Browse Source

improve abseil (#1532)

* improve abseil

* improve abseil

* improve abseil

* improve abseil
ruki 2 years ago
parent
commit
8d13c8225a
1 changed files with 34 additions and 1 deletions
  1. 34 1
      packages/a/abseil/xmake.lua

+ 34 - 1
packages/a/abseil/xmake.lua

@@ -14,6 +14,35 @@ package("abseil")
 
     add_deps("cmake")
 
+    add_links(
+        "absl_city", "absl_time_zone", "absl_spinlock_wait", "absl_cord", "absl_status",
+        "absl_failure_signal_handler", "absl_bad_optional_access",
+        "absl_hash", "absl_flags_commandlineflag",
+        "absl_random_internal_pool_urbg", "absl_cord_internal", "absl_base", "absl_cordz_info",
+        "absl_bad_any_cast_impl", "absl_periodic_sampler", "absl_random_distributions",
+        "absl_flags_usage_internal", "absl_random_seed_sequences", "absl_random_internal_platform",
+        "absl_throw_delegate", "absl_debugging_internal", "absl_flags_private_handle_accessor",
+        "absl_strings", "absl_flags", "absl_malloc_internal", "absl_str_format_internal",
+        "absl_flags_usage", "absl_strings_internal", "absl_flags_program_name", "absl_int128",
+        "absl_scoped_set_env", "absl_raw_hash_set", "absl_random_internal_seed_material",
+        "absl_symbolize", "absl_random_internal_randen_slow", "absl_graphcycles_internal",
+        "absl_exponential_biased", "absl_random_internal_randen_hwaes_impl", "absl_bad_variant_access",
+        "absl_statusor", "absl_stacktrace", "absl_cordz_handle", "absl_random_internal_randen_hwaes",
+        "absl_flags_parse", "absl_random_internal_randen", "absl_random_internal_distribution_test_util",
+        "absl_time", "absl_flags_config", "absl_synchronization", "absl_flags_commandlineflag_internal",
+        "absl_hashtablez_sampler", "absl_demangle_internal", "absl_leak_check", "absl_flags_marshalling",
+        "absl_log_severity", "absl_raw_logging_internal",
+        "absl_strerror", "absl_flags_reflection", "absl_cordz_functions", "absl_examine_stack",
+        "absl_flags_internal", "absl_low_level_hash", "absl_random_seed_gen_exception",
+        "absl_cordz_sample_token", "absl_civil_time")
+
+    on_load(function (package)
+        if package:is_plat("windows") and package:config("shared") then
+            package:add("defines", "ABSL_CONSUME_DLL")
+            package:add("links", "abseil_dll")
+        end
+    end)
+
     on_install("macosx", "linux", "windows", function (package)
         local configs = {"-DCMAKE_CXX_STANDARD=17"}
         table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
@@ -26,10 +55,14 @@ package("abseil")
             #include <iostream>
             #include <string>
             #include <vector>
+            #include "absl/strings/numbers.h"
+            #include "absl/strings/str_join.h"
             void test () {
                 std::vector<std::string> v = {"foo","bar","baz"};
                 std::string s = absl::StrJoin(v, "-");
+                int result = 0;
+                auto a = absl::SimpleAtoi("123", &result);
                 std::cout << "Joined string: " << s << "\\n";
             }
-        ]]}, {configs = {languages = "c++17"}, includes = "absl/strings/str_join.h"}))
+        ]]}, {configs = {languages = "c++17"}}))
     end)