From ec6c26ef68e2dfcfd27d3b760c273016ffc4d47e Mon Sep 17 00:00:00 2001 From: Ruslan Baratov Date: Fri, 19 May 2017 22:59:34 +0300 Subject: [PATCH] Detect iOS simulator/device --- include/boost/predef/platform.h | 1 + include/boost/predef/platform/ios.h | 57 +++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 include/boost/predef/platform/ios.h diff --git a/include/boost/predef/platform.h b/include/boost/predef/platform.h index c0c8706..7da697e 100644 --- a/include/boost/predef/platform.h +++ b/include/boost/predef/platform.h @@ -16,6 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include #include +#include /*#include */ #endif diff --git a/include/boost/predef/platform/ios.h b/include/boost/predef/platform/ios.h new file mode 100644 index 0000000..fdae448 --- /dev/null +++ b/include/boost/predef/platform/ios.h @@ -0,0 +1,57 @@ +/* +Copyright Ruslan Baratov 2017 +Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef BOOST_PREDEF_PLAT_IOS_H +#define BOOST_PREDEF_PLAT_IOS_H + +#include // BOOST_OS_IOS +#include // BOOST_VERSION_NUMBER_NOT_AVAILABLE + +/*` +[heading `BOOST_PLAT_IOS_DEVICE`] +[heading `BOOST_PLAT_IOS_SIMULATOR`] + +[table + [[__predef_symbol__] [__predef_version__]] + + [[`TARGET_IPHONE_SIMULATOR`] [__predef_detection__]] + ] + */ + +#define BOOST_PLAT_IOS_DEVICE BOOST_VERSION_NUMBER_NOT_AVAILABLE +#define BOOST_PLAT_IOS_SIMULATOR BOOST_VERSION_NUMBER_NOT_AVAILABLE + +// https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/TargetConditionals.h +#if BOOST_OS_IOS +# include +# if TARGET_IPHONE_SIMULATOR == 1 +# undef BOOST_PLAT_IOS_SIMULATOR +# define BOOST_PLAT_IOS_SIMULATOR BOOST_VERSION_NUMBER_AVAILABLE +# else +# undef BOOST_PLAT_IOS_DEVICE +# define BOOST_PLAT_IOS_DEVICE BOOST_VERSION_NUMBER_AVAILABLE +# endif +#endif + +#if BOOST_PLAT_IOS_SIMULATOR +# define BOOST_PLAT_IOS_SIMULATOR_AVAILABLE +# include +#endif + +#if BOOST_PLAT_IOS_DEVICE +# define BOOST_PLAT_IOS_DEVICE_AVAILABLE +# include +#endif + +#define BOOST_PLAT_IOS_SIMULATOR_NAME "iOS Simulator" +#define BOOST_PLAT_IOS_DEVICE_NAME "iOS Device" + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_IOS_SIMULATOR,BOOST_PLAT_IOS_SIMULATOR_NAME) +BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_IOS_DEVICE,BOOST_PLAT_IOS_DEVICE_NAME) + +#endif // BOOST_PREDEF_PLAT_IOS_H