diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index 9a6b9f8f..cf2ab165 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -22,25 +22,29 @@ #ifndef _LIBSSH_H #define _LIBSSH_H -#if defined _WIN32 || defined __CYGWIN__ - #ifdef SSH_EXPORTS - #ifdef __GNUC__ - #define LIBSSH_API __attribute__((dllexport)) - #else - #define LIBSSH_API __declspec(dllexport) - #endif - #else - #ifdef __GNUC__ - #define LIBSSH_API __attribute__((dllimport)) - #else - #define LIBSSH_API __declspec(dllimport) - #endif - #endif +#ifdef LIBSSH_STATIC + #define LIBSSH_API #else - #if __GNUC__ >= 4 - #define LIBSSH_API __attribute__((visibility("default"))) + #if defined _WIN32 || defined __CYGWIN__ + #ifdef LIBSSH_EXPORTS + #ifdef __GNUC__ + #define LIBSSH_API __attribute__((dllexport)) + #else + #define LIBSSH_API __declspec(dllexport) + #endif + #else + #ifdef __GNUC__ + #define LIBSSH_API __attribute__((dllimport)) + #else + #define LIBSSH_API __declspec(dllimport) + #endif + #endif #else - #define LIBSSH_API + #if __GNUC__ >= 4 + #define LIBSSH_API __attribute__((visibility("default"))) + #else + #define LIBSSH_API + #endif #endif #endif diff --git a/libssh/CMakeLists.txt b/libssh/CMakeLists.txt index 3af8d8a9..9274f6f3 100644 --- a/libssh/CMakeLists.txt +++ b/libssh/CMakeLists.txt @@ -156,10 +156,8 @@ set_target_properties( ${LIBRARY_SOVERSION} OUTPUT_NAME ssh - CLEAN_DIRECT_OUTPUT - 1 DEFINE_SYMBOL - SSH_EXPORTS + LIBSSH_EXPORTS COMPILE_FLAGS ${LIBSSH_SHARED_CFLAGS} ) @@ -183,10 +181,8 @@ if (WITH_STATIC_LIB) ${LIBRARY_VERSION} SOVERSION ${LIBRARY_SOVERSION} - OUTPUT_NAME - ssh - CLEAN_DIRECT_OUTPUT - 1 + COMPILE_FLAGS + "-DLIBSSH_STATIC" ) install(