+abseil.io (#1005)

* +abseil.io

* Add tea.xyz/gx/cc: c99 to linux

* Added tea.xyz/gx/make

---------

Co-authored-by: James Reynolds <magnsuviri@me.com>
This commit is contained in:
James Reynolds 2023-04-01 11:38:49 -06:00 committed by GitHub
parent cf71174804
commit 4e4d51ed22
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 0 deletions

View file

@ -0,0 +1,42 @@
distributable:
url: https://github.com/abseil/abseil-cpp/archive/refs/tags/{{version.raw}}.tar.gz
strip-components: 1
versions:
github: abseil/abseil-cpp/releases/tags
build:
dependencies:
cmake.org: ^3
tea.xyz/gx/cc: c99
tea.xyz/gx/make: '*'
script: |
cmake -S . -B build \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_RPATH={{ prefix }}/bla \
-DCMAKE_BINARY_DIR={{ prefix }}/bin \
-DABSL_PROPAGATE_CXX_STD=ON \
-DCMAKE_INSTALL_PREFIX={{ prefix }} \
-DCMAKE_INSTALL_LIBDIR={{ prefix }}/lib \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-Wno-dev \
-DBUILD_TESTING=OFF
cmake --build build
cmake --install build
# Remove bad flags in .pc files.
# https://github.com/abseil/abseil-cpp/issues/1408
if [[ "$(uname)" == "Darwin" ]]; then
sed -i '' 's/-Xarch_x86_64 -Xarch_x86_64 -Xarch_arm64 //g' {{ prefix }}/lib/pkgconfig/absl_random_internal_randen_hwaes{_impl,}.pc
fi
test:
dependencies:
tea.xyz/gx/cc: c99
script: |
ls -l
c++ -std=c++17 -I{{ prefix }}/include -L{{ prefix }}/lib -labsl_strings test.cc
test "$(./a.out)" = "Joined string: foo-bar-baz\n"

View file

@ -0,0 +1,10 @@
#include <iostream>
#include <string>
#include <vector>
#include "absl/strings/str_join.h"
int main() {
std::vector<std::string> v = {"foo","bar","baz"};
std::string s = absl::StrJoin(v, "-");
std::cout << "Joined string: " << s << "\\n";
}