Keir Mierle | 8ebb073 | 2012-04-30 23:09:08 -0700 | [diff] [blame] | 1 | # Ceres Solver - A fast non-linear least squares minimizer |
| 2 | # Copyright 2010, 2011, 2012 Google Inc. All rights reserved. |
| 3 | # http://code.google.com/p/ceres-solver/ |
| 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. |
Björn Piltz | 5d7eed8 | 2014-04-23 22:13:37 +0200 | [diff] [blame] | 34 | IF (BUILD_SHARED_LIBS) |
Alex Stewart | ea76585 | 2014-05-07 20:46:17 +0100 | [diff] [blame] | 35 | REMOVE_DEFINITIONS(-DCERES_BUILDING_SHARED_LIBRARY) |
Björn Piltz | 5d7eed8 | 2014-04-23 22:13:37 +0200 | [diff] [blame] | 36 | ENDIF() |
| 37 | |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [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 | |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [diff] [blame] | 41 | ADD_EXECUTABLE(helloworld_numeric_diff helloworld_numeric_diff.cc) |
| 42 | TARGET_LINK_LIBRARIES(helloworld_numeric_diff ceres) |
| 43 | |
| 44 | ADD_EXECUTABLE(helloworld_analytic_diff helloworld_analytic_diff.cc) |
| 45 | TARGET_LINK_LIBRARIES(helloworld_analytic_diff ceres) |
| 46 | |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [diff] [blame] | 47 | ADD_EXECUTABLE(curve_fitting curve_fitting.cc) |
| 48 | TARGET_LINK_LIBRARIES(curve_fitting ceres) |
| 49 | |
Keir Mierle | f956615 | 2013-05-07 02:59:32 -0700 | [diff] [blame] | 50 | ADD_EXECUTABLE(curve_fitting_c curve_fitting.c) |
Petter Strandmark | 88a703f | 2013-10-31 21:13:48 +0100 | [diff] [blame] | 51 | TARGET_LINK_LIBRARIES(curve_fitting_c ceres) |
Alex Stewart | 6a2bcaa | 2013-10-23 14:06:44 +0100 | [diff] [blame] | 52 | # As this is a C file #including <math.h> we have to explicitly add the math |
| 53 | # library (libm). Although some compilers (dependent upon options) will accept |
| 54 | # the indirect link to libm via Ceres, at least GCC 4.8 on pure Debian won't. |
Petter Strandmark | 88a703f | 2013-10-31 21:13:48 +0100 | [diff] [blame] | 55 | IF (NOT MSVC) |
| 56 | TARGET_LINK_LIBRARIES(curve_fitting_c m) |
| 57 | ENDIF (NOT MSVC) |
Keir Mierle | f956615 | 2013-05-07 02:59:32 -0700 | [diff] [blame] | 58 | |
Richard Stebbing | 3253078 | 2014-04-26 07:42:23 +0100 | [diff] [blame] | 59 | ADD_EXECUTABLE(ellipse_approximation ellipse_approximation.cc) |
| 60 | TARGET_LINK_LIBRARIES(ellipse_approximation ceres) |
| 61 | |
Sameer Agarwal | 085cd4a | 2013-02-06 14:31:07 -0800 | [diff] [blame] | 62 | ADD_EXECUTABLE(robust_curve_fitting robust_curve_fitting.cc) |
| 63 | TARGET_LINK_LIBRARIES(robust_curve_fitting ceres) |
| 64 | |
| 65 | ADD_EXECUTABLE(simple_bundle_adjuster |
| 66 | simple_bundle_adjuster.cc) |
| 67 | TARGET_LINK_LIBRARIES(simple_bundle_adjuster ceres) |
| 68 | |
Joydeep Biswas | aa20a6d | 2013-05-15 09:38:03 -0400 | [diff] [blame] | 69 | IF (GFLAGS) |
Alex Stewart | 9aa0e3c | 2013-07-05 20:22:37 +0100 | [diff] [blame] | 70 | ADD_EXECUTABLE(powell powell.cc) |
Alex Stewart | 78cc2c4 | 2013-10-11 15:50:10 +0100 | [diff] [blame] | 71 | TARGET_LINK_LIBRARIES(powell ceres ${GFLAGS_LIBRARIES}) |
Alex Stewart | 9aa0e3c | 2013-07-05 20:22:37 +0100 | [diff] [blame] | 72 | |
Sameer Agarwal | ea11704 | 2012-08-29 18:18:48 -0700 | [diff] [blame] | 73 | ADD_EXECUTABLE(nist nist.cc) |
Alex Stewart | 78cc2c4 | 2013-10-11 15:50:10 +0100 | [diff] [blame] | 74 | TARGET_LINK_LIBRARIES(nist ceres ${GFLAGS_LIBRARIES}) |
Sameer Agarwal | ea11704 | 2012-08-29 18:18:48 -0700 | [diff] [blame] | 75 | |
Sameer Agarwal | 840c89f | 2014-02-18 09:36:21 -0800 | [diff] [blame] | 76 | ADD_EXECUTABLE(more_garbow_hillstrom more_garbow_hillstrom.cc) |
| 77 | TARGET_LINK_LIBRARIES(more_garbow_hillstrom ceres ${GFLAGS_LIBRARIES}) |
| 78 | |
Sameer Agarwal | daa9824 | 2012-05-11 11:26:38 -0700 | [diff] [blame] | 79 | ADD_EXECUTABLE(circle_fit circle_fit.cc) |
Alex Stewart | 78cc2c4 | 2013-10-11 15:50:10 +0100 | [diff] [blame] | 80 | TARGET_LINK_LIBRARIES(circle_fit ceres ${GFLAGS_LIBRARIES}) |
Keir Mierle | 8ebb073 | 2012-04-30 23:09:08 -0700 | [diff] [blame] | 81 | |
Sameer Agarwal | daa9824 | 2012-05-11 11:26:38 -0700 | [diff] [blame] | 82 | ADD_EXECUTABLE(bundle_adjuster |
| 83 | bundle_adjuster.cc |
| 84 | bal_problem.cc) |
Alex Stewart | 78cc2c4 | 2013-10-11 15:50:10 +0100 | [diff] [blame] | 85 | TARGET_LINK_LIBRARIES(bundle_adjuster ceres ${GFLAGS_LIBRARIES}) |
Petter Strandmark | fce6aeb | 2012-08-21 11:00:55 -0700 | [diff] [blame] | 86 | |
Sergey Sharybin | 9869c3d | 2013-05-10 13:28:15 +0600 | [diff] [blame] | 87 | ADD_EXECUTABLE(libmv_bundle_adjuster |
| 88 | libmv_bundle_adjuster.cc) |
Alex Stewart | 78cc2c4 | 2013-10-11 15:50:10 +0100 | [diff] [blame] | 89 | TARGET_LINK_LIBRARIES(libmv_bundle_adjuster ceres ${GFLAGS_LIBRARIES}) |
Sergey Sharybin | 9869c3d | 2013-05-10 13:28:15 +0600 | [diff] [blame] | 90 | |
Sergey Sharybin | 36c2ce8 | 2014-01-13 21:18:08 +0600 | [diff] [blame] | 91 | ADD_EXECUTABLE(libmv_homography |
| 92 | libmv_homography.cc) |
| 93 | TARGET_LINK_LIBRARIES(libmv_homography ceres ${GFLAGS_LIBRARIES}) |
| 94 | |
Petter Strandmark | fce6aeb | 2012-08-21 11:00:55 -0700 | [diff] [blame] | 95 | ADD_EXECUTABLE(denoising |
| 96 | denoising.cc |
| 97 | fields_of_experts.cc) |
Alex Stewart | 78cc2c4 | 2013-10-11 15:50:10 +0100 | [diff] [blame] | 98 | TARGET_LINK_LIBRARIES(denoising ceres ${GFLAGS_LIBRARIES}) |
Joydeep Biswas | 8e09913 | 2014-04-22 10:40:47 -0400 | [diff] [blame] | 99 | |
| 100 | ADD_EXECUTABLE(robot_pose_mle |
| 101 | robot_pose_mle.cc) |
| 102 | TARGET_LINK_LIBRARIES(robot_pose_mle ceres ${GFLAGS_LIBRARIES}) |
| 103 | |
Joydeep Biswas | aa20a6d | 2013-05-15 09:38:03 -0400 | [diff] [blame] | 104 | ENDIF (GFLAGS) |