Keir Mierle | 8ebb073 | 2012-04-30 23:09:08 -0700 | [diff] [blame] | 1 | # Ceres Solver - A fast non-linear least squares minimizer |
Keir Mierle | 7492b0d | 2015-03-17 22:30:16 -0700 | [diff] [blame] | 2 | # Copyright 2015 Google Inc. All rights reserved. |
| 3 | # http://ceres-solver.org/ |
Keir Mierle | 8ebb073 | 2012-04-30 23:09:08 -0700 | [diff] [blame] | 4 | # |
| 5 | # Redistribution and use in source and binary forms, with or without |
| 6 | # modification, are permitted provided that the following conditions are met: |
| 7 | # |
| 8 | # * Redistributions of source code must retain the above copyright notice, |
| 9 | # this list of conditions and the following disclaimer. |
| 10 | # * Redistributions in binary form must reproduce the above copyright notice, |
| 11 | # this list of conditions and the following disclaimer in the documentation |
| 12 | # and/or other materials provided with the distribution. |
| 13 | # * Neither the name of Google Inc. nor the names of its contributors may be |
| 14 | # used to endorse or promote products derived from this software without |
| 15 | # specific prior written permission. |
| 16 | # |
| 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| 18 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| 19 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| 20 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
| 21 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| 22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| 23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| 24 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| 25 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| 26 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| 27 | # POSSIBILITY OF SUCH DAMAGE. |
| 28 | # |
| 29 | # Author: keir@google.com (Keir Mierle) |
| 30 | |
Alex Stewart | ea76585 | 2014-05-07 20:46:17 +0100 | [diff] [blame] | 31 | # Only Ceres itself should be compiled with CERES_BUILDING_SHARED_LIBRARY |
| 32 | # defined, any users of Ceres will have CERES_USING_SHARED_LIBRARY defined |
| 33 | # for them in Ceres' config.h if appropriate. |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 34 | if (BUILD_SHARED_LIBS) |
| 35 | remove_definitions(-DCERES_BUILDING_SHARED_LIBRARY) |
| 36 | endif() |
Björn Piltz | 5d7eed8 | 2014-04-23 22:13:37 +0200 | [diff] [blame] | 37 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 38 | add_executable(helloworld helloworld.cc) |
| 39 | target_link_libraries(helloworld ceres) |
Sameer Agarwal | faf33e6 | 2012-07-15 15:46:10 -0700 | [diff] [blame] | 40 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 41 | add_executable(helloworld_numeric_diff helloworld_numeric_diff.cc) |
| 42 | target_link_libraries(helloworld_numeric_diff ceres) |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [diff] [blame] | 43 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 44 | add_executable(helloworld_analytic_diff helloworld_analytic_diff.cc) |
| 45 | target_link_libraries(helloworld_analytic_diff ceres) |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [diff] [blame] | 46 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 47 | add_executable(curve_fitting curve_fitting.cc) |
| 48 | target_link_libraries(curve_fitting ceres) |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [diff] [blame] | 49 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 50 | add_executable(rosenbrock rosenbrock.cc) |
| 51 | target_link_libraries(rosenbrock ceres) |
Sameer Agarwal | 092b949 | 2014-09-05 11:56:29 -0700 | [diff] [blame] | 52 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 53 | add_executable(curve_fitting_c curve_fitting.c) |
| 54 | target_link_libraries(curve_fitting_c ceres) |
Alex Stewart | 6414bd0 | 2015-05-03 13:52:05 +0100 | [diff] [blame] | 55 | # Force CMake to link curve_fitting_c using the C linker, this is important |
| 56 | # when Ceres was compiled using C++11 to ensure that -std=c++11 is not passed |
| 57 | # through. |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 58 | set_target_properties(curve_fitting_c PROPERTIES LINKER_LANGUAGE C) |
Alex Stewart | 6a2bcaa | 2013-10-23 14:06:44 +0100 | [diff] [blame] | 59 | # As this is a C file #including <math.h> we have to explicitly add the math |
| 60 | # library (libm). Although some compilers (dependent upon options) will accept |
| 61 | # the indirect link to libm via Ceres, at least GCC 4.8 on pure Debian won't. |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 62 | if (NOT MSVC) |
| 63 | target_link_libraries(curve_fitting_c m) |
| 64 | endif (NOT MSVC) |
Keir Mierle | f956615 | 2013-05-07 02:59:32 -0700 | [diff] [blame] | 65 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 66 | add_executable(ellipse_approximation ellipse_approximation.cc) |
| 67 | target_link_libraries(ellipse_approximation ceres) |
Richard Stebbing | 3253078 | 2014-04-26 07:42:23 +0100 | [diff] [blame] | 68 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 69 | add_executable(robust_curve_fitting robust_curve_fitting.cc) |
| 70 | target_link_libraries(robust_curve_fitting ceres) |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [diff] [blame] | 71 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 72 | add_executable(simple_bundle_adjuster simple_bundle_adjuster.cc) |
| 73 | target_link_libraries(simple_bundle_adjuster ceres) |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [diff] [blame] | 74 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 75 | if (GFLAGS) |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 76 | add_executable(powell powell.cc) |
| 77 | target_link_libraries(powell ceres ${GFLAGS_LIBRARIES}) |
Alex Stewart | 9aa0e3c | 2013-07-05 20:22:37 +0100 | [diff] [blame] | 78 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 79 | add_executable(nist nist.cc) |
| 80 | target_link_libraries(nist ceres ${GFLAGS_LIBRARIES}) |
Sameer Agarwal | ea11704 | 2012-08-29 18:18:48 -0700 | [diff] [blame] | 81 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 82 | add_executable(more_garbow_hillstrom more_garbow_hillstrom.cc) |
| 83 | target_link_libraries(more_garbow_hillstrom ceres ${GFLAGS_LIBRARIES}) |
Sameer Agarwal | 840c89f | 2014-02-18 09:36:21 -0800 | [diff] [blame] | 84 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 85 | add_executable(circle_fit circle_fit.cc) |
| 86 | target_link_libraries(circle_fit ceres ${GFLAGS_LIBRARIES}) |
Keir Mierle | 8ebb073 | 2012-04-30 23:09:08 -0700 | [diff] [blame] | 87 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 88 | add_executable(bundle_adjuster |
Sameer Agarwal | daa9824 | 2012-05-11 11:26:38 -0700 | [diff] [blame] | 89 | bundle_adjuster.cc |
| 90 | bal_problem.cc) |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 91 | target_link_libraries(bundle_adjuster ceres ${GFLAGS_LIBRARIES}) |
Petter Strandmark | fce6aeb | 2012-08-21 11:00:55 -0700 | [diff] [blame] | 92 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 93 | add_executable(libmv_bundle_adjuster |
Sergey Sharybin | 9869c3d | 2013-05-10 13:28:15 +0600 | [diff] [blame] | 94 | libmv_bundle_adjuster.cc) |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 95 | target_link_libraries(libmv_bundle_adjuster ceres ${GFLAGS_LIBRARIES}) |
Sergey Sharybin | 9869c3d | 2013-05-10 13:28:15 +0600 | [diff] [blame] | 96 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 97 | add_executable(libmv_homography |
Sergey Sharybin | 36c2ce8 | 2014-01-13 21:18:08 +0600 | [diff] [blame] | 98 | libmv_homography.cc) |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 99 | target_link_libraries(libmv_homography ceres ${GFLAGS_LIBRARIES}) |
Sergey Sharybin | 36c2ce8 | 2014-01-13 21:18:08 +0600 | [diff] [blame] | 100 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 101 | add_executable(denoising |
Petter Strandmark | fce6aeb | 2012-08-21 11:00:55 -0700 | [diff] [blame] | 102 | denoising.cc |
| 103 | fields_of_experts.cc) |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 104 | target_link_libraries(denoising ceres ${GFLAGS_LIBRARIES}) |
Joydeep Biswas | 8e09913 | 2014-04-22 10:40:47 -0400 | [diff] [blame] | 105 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 106 | add_executable(robot_pose_mle |
Joydeep Biswas | 8e09913 | 2014-04-22 10:40:47 -0400 | [diff] [blame] | 107 | robot_pose_mle.cc) |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 108 | target_link_libraries(robot_pose_mle ceres ${GFLAGS_LIBRARIES}) |
Joydeep Biswas | 8e09913 | 2014-04-22 10:40:47 -0400 | [diff] [blame] | 109 | |
Alex Stewart | cc8d47a | 2015-08-09 15:18:42 +0100 | [diff] [blame] | 110 | endif (GFLAGS) |
Mike Vitus | a04490b | 2016-07-14 10:10:13 -0700 | [diff] [blame] | 111 | |
Mike Vitus | f554681 | 2016-07-25 18:30:48 -0700 | [diff] [blame] | 112 | add_subdirectory(sampled_function) |
Alex Stewart | 2988818 | 2016-11-12 18:36:28 +0000 | [diff] [blame] | 113 | add_subdirectory(slam) |