-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Step 6: Allow Abseil to be installed and used with find_package() #111
Comments
+1 |
Are there any updates? Google Cartographer project now depends on Abseil. Unfortunately, since we are using ROS and catkin, we have to maintain the CMake build as well. We ended up using |
Is there any "work in progress" branch for this? I'm having a little stab myself in order to integrate with our organization's packaging system. |
@Mizux, are you planning to submit your CMake Install rules? |
@pifon2a The current plan is to push internally one by one all the #199 commits, then maybe revamp (i.e. rebase/rework) my We will remove |
is it now even possible to build Google Cartographer without internet access or a fake github repo? |
Unfortunately, not yet. After abseil has proper support for |
This is finally live! Thanks everyone for all the patience :) |
Currently we do not support downloading, building and installing absl as part of this project (not sure we will ever need it?). absl supports cmake's find_package(): abseil/abseil-cpp#111
* allow using pre-built or pre-installed s2geometry Enabled by default. For downloading and building s2geometry as part of building s2geography, set `S2GEOGRAPHY_FETCH_S2GEOMETRY=ON`. * manage absl build and install externally Currently we do not support downloading, building and installing absl as part of this project (not sure we will ever need it?). absl supports cmake's find_package(): abseil/abseil-cpp#111 * fix typo * allow using pre-built or pre-installed googletest Enabled by default. To download and build googletest as part of building s2geography tests, set `S2GEOGRAPHY_FETCH_GTEST=ON`. * set C++ standard to c++17 Use `CACHE` for `CMAKE_CXX_STANDARD` so that it can be overriden. * update cmake preset example * build shared libraries by default * exclude googletest from all installed targets * update CI * temp fix for CI run example? * review dependencies management in the CMake build - Use an approach inspired by Arrow for getting s2geometry - Always bundle GTest (update to last version to suppress the MACOSX_RPATH CMake warning) * fix S2_SOURCE AUTO mode * quick and dirty fix for Homebrew installed S2 * tell which version of S2 is bundled * fix openssl header homebrew + bundled * fix conda s2geometry Prevent picking the wrong s2geometry install when it is both installed in a conda active environment and another default system location. * fix typo * update README * fix BREW mode (variable conflict) * more verbose (absl and s2 found) * fix linking error with absl shared lib
This has been a contentious one, but yes, Abseil is going to support the
git clone; make; make install
workflow.This will come at the same time as Abseil cuts our first Long Term Support Branch -- basically cuts of our source code stuck in versioned inline namespaces which we will maintain for a length of time with emergency security bugfixes and the like, and which will also be tagged for use by package managers and the like. Ideally, the
find_package()
workflow will only work with Long Term Support branches of Abseil -- it's the only safe way to use a precompiled version of abseil, as we can make sure that symbols don't clash unless they're identical (as long as they're compiled and linked with the same settings, etc). So the supported usages of abseil will be either live-at-head using Bazel, a mirror, a git submodule, or config-time downloading of source as in googletest's model, or using a precompiled Long Term Support branch of Abseil. It's unclear as of yet how this can be accomplished -- discussion on this point will happen closer to the point in time we're ready for this step.The text was updated successfully, but these errors were encountered: