diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | include/tgbot/export.h | 34 |
2 files changed, 22 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6358d34..f3a7e94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,6 +102,6 @@ if(BUILD_DOCUMENTATION) install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/html/ TYPE DOC) endif() -if(MSVC AND BUILD_SHARED_LIBS) +if(BUILD_SHARED_LIBS) add_definitions(-DTGBOT_DLL) endif()
\ No newline at end of file diff --git a/include/tgbot/export.h b/include/tgbot/export.h index 3178a0e..b38f1fc 100644 --- a/include/tgbot/export.h +++ b/include/tgbot/export.h @@ -2,19 +2,27 @@ #define TGBOT_EXPORT_H #ifndef TGBOT_API -#ifdef _MSC_VER -#ifdef TGBOT_DLL -#ifdef TgBot_EXPORTS -#define TGBOT_API __declspec(dllexport) -#else -#define TGBOT_API __declspec(dllimport) -#endif -#else -#define TGBOT_API -#endif -#else -#define TGBOT_API -#endif + #ifdef TGBOT_DLL + #if defined _WIN32 || defined __CYGWIN__ + #define TGBOT_HELPER_DLL_IMPORT __declspec(dllimport) + #define TGBOT_HELPER_DLL_EXPORT __declspec(dllexport) + #else + #if __GNUC__ >= 4 + #define TGBOT_HELPER_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define TGBOT_HELPER_DLL_EXPORT __attribute__ ((visibility ("default"))) + #else + #define TGBOT_HELPER_DLL_IMPORT + #define TGBOT_HELPER_DLL_EXPORT + #endif + #endif + #ifdef TgBot_EXPORTS + #define TGBOT_API TGBOT_HELPER_DLL_EXPORT + #else + #define FOX_API TGBOT_HELPER_DLL_IMPORT + #endif + #else + #define TGBOT_API + #endif #endif #endif //TGBOT_EXPORT_H |