Merged PR 859598: MacOSX10.12.sdk Compatibility

Ensure Variant::Type::TYPE_BOOL does not clash with #define TYPE_BOOL in <ConditionalMacros.h> of MacOSX10.12.sdk
This commit is contained in:
Hindol Adhya 2018-12-05 22:00:06 +00:00 коммит произвёл Max Golovanov
Родитель ba6310d885
Коммит 8bb410abe7
2 изменённых файлов: 32 добавлений и 32 удалений

Просмотреть файл

@ -1,4 +1,4 @@
# Aria C++ V2 SDK
# Aria C++ V3 / 1DS SDK
## SDK Information
#### Contact:
@ -7,23 +7,16 @@
* ariaesdks (**ARIA SDK Team**)
#### Branches:
* *Master*
<br> - Should be used only after the dev build passed and you want your change into master
* *master*
<br> - Should be used only after the' onesdk' build passed and you want your change into master
<br> - Pull Request is needed to push to Master, at least 1 person needs to be added for approval. Please add aria sdk team (**ariaesdks@microsoft.com**)
<br> - Any push will trigger a new [build](https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs/_build/index?context=allDefinitions&path=%5CAriaSDK%5CC&definitionId=1755&_a=completed)
* *Dev*
<br> - Any push will trigger a new build
* *onesdk*
<br> - This should be clean green but if it's red, no problem just go ahead and fix it
<br> - Fell free to push to dev once your feature is done. We encourage you to use *build\\* branch first
<br> - Any push will trigger a new [build](https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs/_build/index?context=allDefinitions&path=%5CAriaSDK%5CC&definitionId=1399&_a=completed)
* *<yourname\>\\\<feature>*
<br> - Create a new branch for each feature you are working on or you just want to check some changes you made
<br> - Any new branch or change to this branch will not trigger any build
* *build\\\<branch_name>*
<br> - Create a new branch under *build\\* folder if you want an automatic build to be triggered online.
<br> - This allows you to test local changes with no need of an environment setup
<br> - Any push will trigger a new [build]https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs/_build/index?context=allDefinitions&path=%5CAriaSDK%5CC&definitionId=1754&_a=completed)
<br> - Fell free to push to 'onesdk' once your feature is done
<br> - Any push will trigger a new build
#### Best Practice:
* User your own branch per feature. Once it can build locally, push it to dev so MSASG vso will build to all supported platforms
@ -33,35 +26,32 @@
<br> - [Some Guildines](https://blogs.msdn.microsoft.com/brada/2005/01/26/internal-coding-guidelines/)
#### Supported platforms:
* Windows
* Windows (vs2017)
* Windows (llvm-clang)
* Mac OS X (llvm-clang)
* Linux (gcc, various distros)
#### Deps:
* [Visual Studio](https://www.visualstudio.com/vso/) 2015 or higher
* [Visual Studio](https://www.visualstudio.com/vso/) 2017 or higher
* [Google Test Adapter](https://github.com/csoltenborn/GoogleTestAdapter)
## Building
#### On MSASG
* Pushing to **dev** will trigger all [C++ dev](https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs/_build/index?context=allDefinitions&path=%5CAriaSDK%5CC&definitionId=1399&_a=completed) build
* Pushing to **master** will trigger only the [C++ master](https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs/_build/index?context=allDefinitions&path=%5CAriaSDK%5CC&definitionId=1755&_a=completed) build
* Pushing to **build\\<branch_name>** will trigger only the [C++ features](https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs/_build/index?context=allDefinitions&path=%5CAriaSDK%5CC&definitionId=1754&_a=completed) build
#### Locally
* Install the **Deps**
* run: **AriaSDK.sln** solution and build & use Google Test Adapter to run the tests
* run: **build-all.bat** from command line and it will build
* Note: On at least one instance, the location for the windows SDK headers had to be manually specified (e.g. C:\Program Files (x86)\Windows Kits\10\Include\10.x\shared) in the VC++ Include Directories
## Running tests
#### Dependency:
* Google Test Adapter (Just to run/debug the tests inside Visual Studio)
## Run Tests:
* Run Tests from Visual Studio or from command line. See **build-win32Debug.bat** for more information
* Run Tests from Visual Studio or from command line:
build-Win32Debug.bat
build-Win32Release.bat
build-x64Debug.bat
build-x64Release.bat
#### Test Result:
* You will see them in Visual Studio
## Useful Links:
* [Builds](https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs/_build?path=%5CAriaSDK%5CC&_a=allDefinitionss)
* [Code](https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs/_git/Aria.SDK.NewC)
* [Dashboard](https://msasg.visualstudio.com/Shared%20Data/Mobile%20Analytics%20-%20Mobile%20SDKs?activeDashboardId=f92e3841-f65a-4cf2-9743-84b55f5a869a)

Просмотреть файл

@ -13,6 +13,16 @@
operator basetype() { return (basetype)field; }; \
Variant& operator=(basetype v) { field = v; type = typeenum; return *this; };
// Avoid conflict with Mac platforms where <ConditionalMacros.h> #defines TYPE_BOOL.
//
// If some one needs the macro TYPE_BOOL in a file that includes this header, it's
// possible to bring it back using push/pop_macro as follows.
//
// #pragma push_macro("TYPE_BOOL")
// #include this header and/or all headers that need the macro to be undefined.
// #pragma pop_macro("TYPE_BOOL")
#undef TYPE_BOOL
/**
* Variant type for containers
*/