diff --git a/CMakeLists.txt b/CMakeLists.txt index 9660f557..b3faf1b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,18 +26,13 @@ ELSE() OPTION(BUILD_POSITION_INDEPENDENT_CODE "Build position independent code (-fPIC)" ON) ENDIF() +set(CMAKE_CXX_STANDARD 11 CACHE STRING "The C++ standard used by the project") +set(CMAKE_CXX_STANDARD_REQUIRED ON) + IF(MSVC) add_compile_options(/wd4514 /wd4267 /bigobj) add_definitions(-D_USE_MATH_DEFINES) ELSE() - IF (CMAKE_SYSTEM_PROCESSOR MATCHES "(arm64)|(ARM64)|(aarch64)|(AARCH64)") - add_definitions (-march=armv8-a) - ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES - "(arm)|(ARM)|(armhf)|(ARMHF)|(armel)|(ARMEL)") - add_definitions (-march=armv7-a) - ELSE () - add_definitions (-march=native) #TODO use correct c++11 def once everybody has moved to gcc 4.7 # for now I even removed std=gnu++0x - ENDIF() add_definitions ( -O3 -Wall @@ -181,8 +176,6 @@ add_library( random_generators test/random_generators.cpp test/random_generators set_target_properties( opengv random_generators PROPERTIES SOVERSION ${PROJECT_VERSION} VERSION ${PROJECT_VERSION} - CXX_STANDARD 11 - CXX_STANDARD_REQUIRED ON DEBUG_POSTFIX d ) target_include_directories( opengv PUBLIC diff --git a/src/absolute_pose/CentralAbsoluteAdapter.cpp b/src/absolute_pose/CentralAbsoluteAdapter.cpp index 684fa7e9..0e24d8e8 100644 --- a/src/absolute_pose/CentralAbsoluteAdapter.cpp +++ b/src/absolute_pose/CentralAbsoluteAdapter.cpp @@ -31,6 +31,7 @@ #include +#include opengv::absolute_pose::CentralAbsoluteAdapter::CentralAbsoluteAdapter( const bearingVectors_t & bearingVectors, diff --git a/src/absolute_pose/MACentralAbsolute.cpp b/src/absolute_pose/MACentralAbsolute.cpp index 6edbabcf..72984488 100644 --- a/src/absolute_pose/MACentralAbsolute.cpp +++ b/src/absolute_pose/MACentralAbsolute.cpp @@ -31,6 +31,7 @@ #include +#include opengv::absolute_pose::MACentralAbsolute::MACentralAbsolute( const double * points, diff --git a/src/absolute_pose/MANoncentralAbsolute.cpp b/src/absolute_pose/MANoncentralAbsolute.cpp index d9b5b098..29d64068 100644 --- a/src/absolute_pose/MANoncentralAbsolute.cpp +++ b/src/absolute_pose/MANoncentralAbsolute.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::absolute_pose::MANoncentralAbsolute::MANoncentralAbsolute( const double * points, const double * bearingVectors, diff --git a/src/absolute_pose/NoncentralAbsoluteAdapter.cpp b/src/absolute_pose/NoncentralAbsoluteAdapter.cpp index 30176aa7..d983ea64 100644 --- a/src/absolute_pose/NoncentralAbsoluteAdapter.cpp +++ b/src/absolute_pose/NoncentralAbsoluteAdapter.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::absolute_pose::NoncentralAbsoluteAdapter::NoncentralAbsoluteAdapter( const bearingVectors_t & bearingVectors, const camCorrespondences_t & camCorrespondences, diff --git a/src/absolute_pose/NoncentralAbsoluteMultiAdapter.cpp b/src/absolute_pose/NoncentralAbsoluteMultiAdapter.cpp index 88c237aa..50128ce0 100644 --- a/src/absolute_pose/NoncentralAbsoluteMultiAdapter.cpp +++ b/src/absolute_pose/NoncentralAbsoluteMultiAdapter.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::absolute_pose::NoncentralAbsoluteMultiAdapter::NoncentralAbsoluteMultiAdapter( std::vector > bearingVectors, std::vector > points, diff --git a/src/absolute_pose/methods.cpp b/src/absolute_pose/methods.cpp index b1f0889e..2568d73a 100644 --- a/src/absolute_pose/methods.cpp +++ b/src/absolute_pose/methods.cpp @@ -42,6 +42,7 @@ #include #include +#include #include opengv::translation_t diff --git a/src/absolute_pose/modules/main.cpp b/src/absolute_pose/modules/main.cpp index ed0c271a..011dbccb 100644 --- a/src/absolute_pose/modules/main.cpp +++ b/src/absolute_pose/modules/main.cpp @@ -46,6 +46,8 @@ #include #include +#include + void opengv::absolute_pose::modules::p3p_kneip_main( const bearingVectors_t & f, diff --git a/src/math/arun.cpp b/src/math/arun.cpp index a0d6296d..73b11ce8 100644 --- a/src/math/arun.cpp +++ b/src/math/arun.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::rotation_t opengv::math::arun( const Eigen::MatrixXd & Hcross ) { diff --git a/src/point_cloud/MAPointCloud.cpp b/src/point_cloud/MAPointCloud.cpp index 81fd5dd7..9f039335 100644 --- a/src/point_cloud/MAPointCloud.cpp +++ b/src/point_cloud/MAPointCloud.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::point_cloud::MAPointCloud::MAPointCloud( const double * points1, const double * points2, diff --git a/src/point_cloud/PointCloudAdapter.cpp b/src/point_cloud/PointCloudAdapter.cpp index f9faaebd..e71762c0 100644 --- a/src/point_cloud/PointCloudAdapter.cpp +++ b/src/point_cloud/PointCloudAdapter.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::point_cloud::PointCloudAdapter::PointCloudAdapter( const points_t & points1, const points_t & points2 ) : diff --git a/src/point_cloud/methods.cpp b/src/point_cloud/methods.cpp index 5409eebf..f098a1d5 100644 --- a/src/point_cloud/methods.cpp +++ b/src/point_cloud/methods.cpp @@ -39,6 +39,8 @@ #include #include +#include + namespace opengv { namespace point_cloud diff --git a/src/relative_pose/CentralRelativeAdapter.cpp b/src/relative_pose/CentralRelativeAdapter.cpp index 38e9a62c..682420a3 100644 --- a/src/relative_pose/CentralRelativeAdapter.cpp +++ b/src/relative_pose/CentralRelativeAdapter.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::relative_pose::CentralRelativeAdapter::CentralRelativeAdapter( const bearingVectors_t & bearingVectors1, const bearingVectors_t & bearingVectors2 ) : diff --git a/src/relative_pose/CentralRelativeMultiAdapter.cpp b/src/relative_pose/CentralRelativeMultiAdapter.cpp index 2ab74763..10c309d2 100644 --- a/src/relative_pose/CentralRelativeMultiAdapter.cpp +++ b/src/relative_pose/CentralRelativeMultiAdapter.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::relative_pose::CentralRelativeMultiAdapter::CentralRelativeMultiAdapter( std::vector > bearingVectors1, std::vector > bearingVectors2 ) : diff --git a/src/relative_pose/CentralRelativeWeightingAdapter.cpp b/src/relative_pose/CentralRelativeWeightingAdapter.cpp index a6ab4789..7baf2050 100644 --- a/src/relative_pose/CentralRelativeWeightingAdapter.cpp +++ b/src/relative_pose/CentralRelativeWeightingAdapter.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::relative_pose::CentralRelativeWeightingAdapter::CentralRelativeWeightingAdapter( const bearingVectors_t & bearingVectors1, const bearingVectors_t & bearingVectors2, diff --git a/src/relative_pose/MACentralRelative.cpp b/src/relative_pose/MACentralRelative.cpp index ec2959fe..e1a26091 100644 --- a/src/relative_pose/MACentralRelative.cpp +++ b/src/relative_pose/MACentralRelative.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::relative_pose::MACentralRelative::MACentralRelative( const double * bearingVectors1, const double * bearingVectors2, diff --git a/src/relative_pose/MANoncentralRelative.cpp b/src/relative_pose/MANoncentralRelative.cpp index cea9c146..e7679aee 100644 --- a/src/relative_pose/MANoncentralRelative.cpp +++ b/src/relative_pose/MANoncentralRelative.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::relative_pose::MANoncentralRelative::MANoncentralRelative( const double * bearingVectors1, const double * bearingVectors2, diff --git a/src/relative_pose/MANoncentralRelativeMulti.cpp b/src/relative_pose/MANoncentralRelativeMulti.cpp index 49f8ecf0..9386e8cb 100644 --- a/src/relative_pose/MANoncentralRelativeMulti.cpp +++ b/src/relative_pose/MANoncentralRelativeMulti.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::relative_pose::MANoncentralRelativeMulti::MANoncentralRelativeMulti( const std::vector & bearingVectors1, const std::vector & bearingVectors2, diff --git a/src/relative_pose/NoncentralRelativeAdapter.cpp b/src/relative_pose/NoncentralRelativeAdapter.cpp index 552f180d..b4a9a14b 100644 --- a/src/relative_pose/NoncentralRelativeAdapter.cpp +++ b/src/relative_pose/NoncentralRelativeAdapter.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::relative_pose::NoncentralRelativeAdapter::NoncentralRelativeAdapter( const bearingVectors_t & bearingVectors1, const bearingVectors_t & bearingVectors2, diff --git a/src/relative_pose/NoncentralRelativeMultiAdapter.cpp b/src/relative_pose/NoncentralRelativeMultiAdapter.cpp index f41edbe2..718e4827 100644 --- a/src/relative_pose/NoncentralRelativeMultiAdapter.cpp +++ b/src/relative_pose/NoncentralRelativeMultiAdapter.cpp @@ -31,6 +31,8 @@ #include +#include + opengv::relative_pose::NoncentralRelativeMultiAdapter::NoncentralRelativeMultiAdapter( std::vector > bearingVectors1, std::vector > bearingVectors2, diff --git a/src/relative_pose/methods.cpp b/src/relative_pose/methods.cpp index 0027dae3..4e6a155a 100644 --- a/src/relative_pose/methods.cpp +++ b/src/relative_pose/methods.cpp @@ -41,6 +41,7 @@ #include #include +#include #include opengv::translation_t diff --git a/src/relative_pose/modules/fivept_nister/modules.cpp b/src/relative_pose/modules/fivept_nister/modules.cpp index 4b134c54..293a08a8 100644 --- a/src/relative_pose/modules/fivept_nister/modules.cpp +++ b/src/relative_pose/modules/fivept_nister/modules.cpp @@ -35,6 +35,8 @@ #include +#include + void opengv::relative_pose::modules::fivept_nister::composeA( const Eigen::Matrix & EE,