Update CMakeLists.txt to fix Windows CUDA build

- In the top-level CMakeLists.txt, certain flags are passed to
  disable warnings and increase the maximum size of an object file.
  nvcc cannot handle these flags so we tell CMake to only use them
  for C++ code (and not CUDA code).
- In internal/ceres/CMakeLists.txt, CMake is originally told to link
  the import library cudart.lib when linking CUDA code. By default,
  it seems that Visual Studio will link the static library
  cudart_static.lib when linking CUDA code. So we avoid linking with
  cudart.lib to avoid linking the same library twice.

Change-Id: I1fbf0d7e76d57b4338708757b27f5074722608cb
1 file changed
tree: 73bcb9f100d251eaeef0eec6e8fad56701a351e0
  1. .github/
  2. bazel/
  3. cmake/
  4. config/
  5. data/
  6. docs/
  7. examples/
  8. include/
  9. internal/
  10. scripts/
  11. .clang-format
  12. .gitignore
  13. BUILD
  14. CITATION.cff
  15. CMakeLists.txt
  16. CONTRIBUTING.md
  17. LICENSE
  18. package.xml
  19. README.md
  20. WORKSPACE
README.md

Android Linux macOS Windows

Ceres Solver

Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.

  1. Non-linear Least Squares problems with bounds constraints.
  2. General unconstrained optimization problems.

Please see ceres-solver.org for more information.