Reverted removal of #ifdef for chrono converters, and fixed in OC project a different way

- seems the #ifdef was necessary after all, because of the difference in the way the cpp files are included in the full project vs the single include
- in the OC project I moved the #include of catch_tostring.cpp first. That solves the project for now, but is a brittle solution
This commit is contained in:
Phil Nash 2018-06-12 15:37:06 +01:00
parent b8553d62a3
commit 1dce91d78e
2 changed files with 6 additions and 3 deletions

View File

@ -12,6 +12,11 @@
# pragma clang diagnostic ignored "-Wglobal-constructors" # pragma clang diagnostic ignored "-Wglobal-constructors"
#endif #endif
// Enable specific decls locally
#if !defined(CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER)
#define CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER
#endif
#include "catch_tostring.h" #include "catch_tostring.h"
#include "catch_interfaces_config.h" #include "catch_interfaces_config.h"
#include "catch_context.h" #include "catch_context.h"
@ -224,14 +229,12 @@ std::string StringMaker<double>::convert(double value) {
return fpToString(value, 10); return fpToString(value, 10);
} }
#if defined(CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER)
std::string ratio_string<std::atto>::symbol() { return "a"; } std::string ratio_string<std::atto>::symbol() { return "a"; }
std::string ratio_string<std::femto>::symbol() { return "f"; } std::string ratio_string<std::femto>::symbol() { return "f"; }
std::string ratio_string<std::pico>::symbol() { return "p"; } std::string ratio_string<std::pico>::symbol() { return "p"; }
std::string ratio_string<std::nano>::symbol() { return "n"; } std::string ratio_string<std::nano>::symbol() { return "n"; }
std::string ratio_string<std::micro>::symbol() { return "u"; } std::string ratio_string<std::micro>::symbol() { return "u"; }
std::string ratio_string<std::milli>::symbol() { return "m"; } std::string ratio_string<std::milli>::symbol() { return "m"; }
#endif // CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER
} // end namespace Catch } // end namespace Catch

View File

@ -1,6 +1,7 @@
// This file #includes all the .cpp files into a single .mm // This file #includes all the .cpp files into a single .mm
// - so they get compiled as ObjectiveC++ // - so they get compiled as ObjectiveC++
#include "../../../include/internal/catch_tostring.cpp"
#include "../../../include/internal/catch_approx.cpp" #include "../../../include/internal/catch_approx.cpp"
#include "../../../include/internal/catch_assertionhandler.cpp" #include "../../../include/internal/catch_assertionhandler.cpp"
#include "../../../include/internal/catch_assertionresult.cpp" #include "../../../include/internal/catch_assertionresult.cpp"
@ -52,7 +53,6 @@
#include "../../../include/internal/catch_test_spec.cpp" #include "../../../include/internal/catch_test_spec.cpp"
#include "../../../include/internal/catch_test_spec_parser.cpp" #include "../../../include/internal/catch_test_spec_parser.cpp"
#include "../../../include/internal/catch_timer.cpp" #include "../../../include/internal/catch_timer.cpp"
#include "../../../include/internal/catch_tostring.cpp"
#include "../../../include/internal/catch_totals.cpp" #include "../../../include/internal/catch_totals.cpp"
#include "../../../include/internal/catch_uncaught_exceptions.cpp" #include "../../../include/internal/catch_uncaught_exceptions.cpp"
#include "../../../include/internal/catch_version.cpp" #include "../../../include/internal/catch_version.cpp"