Fix the bazel build

Change-Id: I38c684b816b5e377aa873cf35d13b1181aa152db
This commit is contained in:
Sameer Agarwal
2022-02-27 07:50:56 -08:00
parent ae4d95df6e
commit 4ad787ce19
3 changed files with 63 additions and 16 deletions
+8 -5
View File
@@ -31,7 +31,6 @@
CERES_SRCS = ["internal/ceres/" + filename for filename in [
"accelerate_sparse.cc",
"array_utils.cc",
"blas.cc",
"block_evaluate_preparer.cc",
"block_jacobian_writer.cc",
"block_jacobi_preconditioner.cc",
@@ -78,7 +77,6 @@ CERES_SRCS = ["internal/ceres/" + filename for filename in [
"inner_product_computer.cc",
"iterative_refiner.cc",
"iterative_schur_complement_solver.cc",
"lapack.cc",
"levenberg_marquardt_strategy.cc",
"line_search.cc",
"line_search_direction.cc",
@@ -174,11 +172,13 @@ def ceres_library(name,
"include/ceres/internal/*.h",
]) +
# This is an empty config, since the Bazel-based build does not
# generate a config.h from config.h.in. This is fine, since Bazel
# properly handles propagating -D defines to dependent targets.
# This is an empty config and export, since the
# Bazel-based build does not generate a
# config.h/export.h. This is fine, since Bazel properly
# handles propagating -D defines to dependent targets.
native.glob([
"config/ceres/internal/config.h",
"config/ceres/internal/export.h",
]),
copts = [
"-I" + internal,
@@ -202,6 +202,9 @@ def ceres_library(name,
"CERES_NO_LAPACK",
"CERES_USE_EIGEN_SPARSE",
"CERES_USE_CXX_THREADS",
"CERES_NO_CUDA",
"CERES_EXPORT=",
"CERES_NO_EXPORT=",
],
includes = [
"config",
+9 -11
View File
@@ -1,5 +1,5 @@
// Ceres Solver - A fast non-linear least squares minimizer
// Copyright 2015 Google Inc. All rights reserved.
// Copyright 2022 Google Inc. All rights reserved.
// http://ceres-solver.org/
//
// Redistribution and use in source and binary forms, with or without
@@ -30,16 +30,14 @@
// Default (empty) configuration options for Ceres.
//
// IMPORTANT: Most users of Ceres will not use this file, when
// compiling Ceres with CMake, CMake will configure a new
// config.h with the currently selected Ceres compile
// options in <BUILD_DIR>/config, which will be added to
// the include path for compilation, and installed with the
// public Ceres headers. However, for some users of Ceres
// who compile without CMake (Android), this file ensures
// that Ceres will compile, with the user either specifying
// manually the Ceres compile options, or passing them
// directly through the compiler.
// IMPORTANT: Most users of Ceres will not use this file, when compiling Ceres
// with CMake, CMake will configure a new config.h with the currently
// selected Ceres compile options in <BUILD_DIR>/config, which will
// be added to the include path for compilation, and installed with
// the public Ceres headers. However, for some users of Ceres who
// compile without CMake (Bazel), this file ensures that Ceres will
// compile, with the user either specifying manually the Ceres
// compile options, or passing them directly through the compiler.
#ifndef CERES_PUBLIC_INTERNAL_CONFIG_H_
#define CERES_PUBLIC_INTERNAL_CONFIG_H_
+46
View File
@@ -0,0 +1,46 @@
// Ceres Solver - A fast non-linear least squares minimizer
// Copyright 2022 Google Inc. All rights reserved.
// http://ceres-solver.org/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of Google Inc. nor the names of its contributors may be
// used to endorse or promote products derived from this software without
// specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// Author: alexs.mac@gmail.com (Alex Stewart)
// Default (empty) configuration options for Ceres.
//
// IMPORTANT: Most users of Ceres will not use this file, when compiling Ceres
// with CMake, CMake will configure a new config.h with the currently
// selected Ceres compile options in <BUILD_DIR>/export, which will
// be added to the include path for compilation, and installed with
// the public Ceres headers. However, for some users of Ceres who
// compile without CMake (Bazel), this file ensures that Ceres will
// compile, with the user either specifying manually the Ceres
// compile options, or passing them directly through the compiler.
#ifndef CERES_PUBLIC_INTERNAL_EXPORT_H_
#define CERES_PUBLIC_INTERNAL_EXPORT_H_
#endif // CERES_PUBLIC_INTERNAL_EXPORT_H_