Blame examples/CMakeLists.txt

Packit ea1746
# Ceres Solver - A fast non-linear least squares minimizer
Packit ea1746
# Copyright 2015 Google Inc. All rights reserved.
Packit ea1746
# http://ceres-solver.org/
Packit ea1746
#
Packit ea1746
# Redistribution and use in source and binary forms, with or without
Packit ea1746
# modification, are permitted provided that the following conditions are met:
Packit ea1746
#
Packit ea1746
# * Redistributions of source code must retain the above copyright notice,
Packit ea1746
#   this list of conditions and the following disclaimer.
Packit ea1746
# * Redistributions in binary form must reproduce the above copyright notice,
Packit ea1746
#   this list of conditions and the following disclaimer in the documentation
Packit ea1746
#   and/or other materials provided with the distribution.
Packit ea1746
# * Neither the name of Google Inc. nor the names of its contributors may be
Packit ea1746
#   used to endorse or promote products derived from this software without
Packit ea1746
#   specific prior written permission.
Packit ea1746
#
Packit ea1746
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Packit ea1746
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Packit ea1746
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
Packit ea1746
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
Packit ea1746
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
Packit ea1746
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
Packit ea1746
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
Packit ea1746
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
Packit ea1746
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
Packit ea1746
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
Packit ea1746
# POSSIBILITY OF SUCH DAMAGE.
Packit ea1746
#
Packit ea1746
# Author: keir@google.com (Keir Mierle)
Packit ea1746
Packit ea1746
# Only Ceres itself should be compiled with CERES_BUILDING_SHARED_LIBRARY
Packit ea1746
# defined, any users of Ceres will have CERES_USING_SHARED_LIBRARY defined
Packit ea1746
# for them in Ceres' config.h if appropriate.
Packit ea1746
if (BUILD_SHARED_LIBS)
Packit ea1746
  remove_definitions(-DCERES_BUILDING_SHARED_LIBRARY)
Packit ea1746
endif()
Packit ea1746
Packit ea1746
add_executable(helloworld helloworld.cc)
Packit ea1746
target_link_libraries(helloworld ceres)
Packit ea1746
Packit ea1746
add_executable(helloworld_numeric_diff helloworld_numeric_diff.cc)
Packit ea1746
target_link_libraries(helloworld_numeric_diff ceres)
Packit ea1746
Packit ea1746
add_executable(helloworld_analytic_diff helloworld_analytic_diff.cc)
Packit ea1746
target_link_libraries(helloworld_analytic_diff ceres)
Packit ea1746
Packit ea1746
add_executable(curve_fitting curve_fitting.cc)
Packit ea1746
target_link_libraries(curve_fitting ceres)
Packit ea1746
Packit ea1746
add_executable(rosenbrock rosenbrock.cc)
Packit ea1746
target_link_libraries(rosenbrock ceres)
Packit ea1746
Packit ea1746
add_executable(curve_fitting_c curve_fitting.c)
Packit ea1746
target_link_libraries(curve_fitting_c ceres)
Packit ea1746
# Force CMake to link curve_fitting_c using the C linker, this is important
Packit ea1746
# when Ceres was compiled using C++11 to ensure that -std=c++11 is not passed
Packit ea1746
# through.
Packit ea1746
set_target_properties(curve_fitting_c PROPERTIES LINKER_LANGUAGE C)
Packit ea1746
# As this is a C file #including <math.h> we have to explicitly add the math
Packit ea1746
# library (libm). Although some compilers (dependent upon options) will accept
Packit ea1746
# the indirect link to libm via Ceres, at least GCC 4.8 on pure Debian won't.
Packit ea1746
if (NOT MSVC)
Packit ea1746
  target_link_libraries(curve_fitting_c m)
Packit ea1746
endif (NOT MSVC)
Packit ea1746
Packit ea1746
add_executable(ellipse_approximation ellipse_approximation.cc)
Packit ea1746
target_link_libraries(ellipse_approximation ceres)
Packit ea1746
Packit ea1746
add_executable(robust_curve_fitting robust_curve_fitting.cc)
Packit ea1746
target_link_libraries(robust_curve_fitting ceres)
Packit ea1746
Packit ea1746
add_executable(simple_bundle_adjuster simple_bundle_adjuster.cc)
Packit ea1746
target_link_libraries(simple_bundle_adjuster ceres)
Packit ea1746
Packit ea1746
if (GFLAGS)
Packit ea1746
  add_executable(powell powell.cc)
Packit ea1746
  target_link_libraries(powell ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
  add_executable(nist nist.cc)
Packit ea1746
  target_link_libraries(nist ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
  add_executable(more_garbow_hillstrom more_garbow_hillstrom.cc)
Packit ea1746
  target_link_libraries(more_garbow_hillstrom ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
  add_executable(circle_fit circle_fit.cc)
Packit ea1746
  target_link_libraries(circle_fit ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
  add_executable(bundle_adjuster
Packit ea1746
                 bundle_adjuster.cc
Packit ea1746
                 bal_problem.cc)
Packit ea1746
  target_link_libraries(bundle_adjuster ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
  add_executable(libmv_bundle_adjuster
Packit ea1746
                 libmv_bundle_adjuster.cc)
Packit ea1746
  target_link_libraries(libmv_bundle_adjuster ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
  add_executable(libmv_homography
Packit ea1746
                 libmv_homography.cc)
Packit ea1746
  target_link_libraries(libmv_homography ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
  add_executable(denoising
Packit ea1746
                 denoising.cc
Packit ea1746
                 fields_of_experts.cc)
Packit ea1746
  target_link_libraries(denoising ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
  add_executable(robot_pose_mle
Packit ea1746
                 robot_pose_mle.cc)
Packit ea1746
  target_link_libraries(robot_pose_mle ceres ${GFLAGS_LIBRARIES})
Packit ea1746
Packit ea1746
endif (GFLAGS)
Packit ea1746
Packit ea1746
add_subdirectory(sampled_function)
Packit ea1746
add_subdirectory(slam)