sol2/examples/require_dll_example/source/my_object_api.hpp

28 lines
656 B
C++

#pragma once
namespace my_object {
#if defined _MSC_VER
#define MY_OBJECT_VC
#elif defined __GNUC__
#define MY_OBJECT_GCC
#elif defined __clang__
#define MY_OBJECT_CLANG
#endif
#if defined MY_OBJECT_VC
#if defined MY_OBJECT_DLL
#if defined MY_OBJECT_BUILD
#define MY_OBJECT_API __declspec(dllexport)
#else
#define MY_OBJECT_API __declspec(dllexport)
#endif // MY_OBJECT_BUILD - Building the Library vs. Using the Library
#else
#define MY_OBJECT_API
#endif // Building a DLL vs. Static Library
#else // g++ / clang++
#define MY_OBJECT_API __attribute__ ((visibility ("default")))
#endif // MY_OBJECT_BUILD
} // namespace my_object