Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef ApproxMVBB_Common_Platform_hpp
00011 #define ApproxMVBB_Common_Platform_hpp
00012
00013 #include "ApproxMVBB/Config/Config.hpp"
00014
00015 #ifdef __CYGWIN__
00016 #include "ApproxMVBB/Common/CygwinPatch.hpp"
00017 #endif
00018
00019 namespace ApproxMVBB{
00020
00021 #if (defined _WIN32) || (defined __CYGWIN__) || (defined WIN32)
00022
00023
00024 #ifdef ApproxMVBB_BUILD_LIBRARY
00025
00026 #pragma message(" Platform.hpp: Building library ...")
00027
00028 #ifdef __GNUC__
00029 #define APPROXMVBB_EXPORT __attribute__ ((dllexport))
00030 #else
00031 #define APPROXMVBB_EXPORT __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
00032 #endif
00033
00034
00035
00036 #else
00037
00038 #ifdef __GNUC__
00039 #define APPROXMVBB_EXPORT __attribute__ ((dllimport))
00040 #else
00041 #define APPROXMVBB_EXPORT __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
00042 #endif
00043
00044 #endif
00045
00046 #else
00047
00048 #ifdef ApproxMVBB_BUILD_LIBRARY
00049
00050 #pragma message(" Platform.hpp: Building library ...")
00051
00052 #if __GNUC__ >= 4 || __clang__
00053 #define APPROXMVBB_EXPORT __attribute__ ((visibility ("default")))
00054 #else
00055 #define APPROXMVBB_EXPORT
00056 #warning "Unknown compiler: Exporting everything into library!"
00057 #endif
00058
00059 #else
00060 #define APPROXMVBB_EXPORT
00061 #endif
00062
00063 #endif
00064
00065 }
00066
00067 #endif