diff options
author | Renato Filho <renato.filho@openbossa.org> | 2010-08-18 18:11:46 -0300 |
---|---|---|
committer | Renato Filho <renato.filho@openbossa.org> | 2010-08-19 11:37:05 -0300 |
commit | b3d8877b8de94f6ddd166ab0c50acfc43a48574c (patch) | |
tree | 4a3be6e8d23c50e453141ae479401536d64dad82 | |
parent | 224be40cc9c31c381b62f7c1bfdde0f2c3b1fef7 (diff) |
Use CMake DEFINES to export symbols.
Reviewer: Hugo Parente Lima <hugo.pl@gmail.com>
Luciano Wolf <luciano.wolf@openbossa.org>
-rw-r--r-- | CMakeLists.txt | 10 | ||||
-rw-r--r-- | libshiboken/CMakeLists.txt | 2 | ||||
-rw-r--r-- | libshiboken/shibokenmacros.h | 4 |
3 files changed, 9 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d698696b5..352b3b7eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,11 +18,13 @@ option(AVOID_PROTECTED_HACK "Avoid protected hack on generated bindings." FALSE) option(BUILD_TESTS "Build tests." TRUE) if(MSVC) - set(CMAKE_CXX_FLAGS "/DWIN32 /D_WINDOWS /w /EHsc- /GS- /GR- /DLIBSHIBOKEN_BUILD -D_SCL_SECURE_NO_WARNINGS") -elseif(CMAKE_HOST_UNIX) - option(ENABLE_GCC_OPTIMIZATION "Enable specific GCC flags to optimization library size and performance. Only available on Release Mode" 0) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden") + set(CMAKE_CXX_FLAGS "/DWIN32 /D_WINDOWS /w /EHsc- /GS- /GR- -D_SCL_SECURE_NO_WARNINGS") +else() + if(CMAKE_HOST_UNIX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden") + endif() set(CMAKE_CXX_FLAGS_DEBUG "-g") + option(ENABLE_GCC_OPTIMIZATION "Enable specific GCC flags to optimization library size and performance. Only available on Release Mode" 0) if(ENABLE_GCC_OPTIMIZATION) set(CMAKE_BUILD_TYPE Release) set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -Os -Wno-strict-aliasing -Wl,-O1") diff --git a/libshiboken/CMakeLists.txt b/libshiboken/CMakeLists.txt index 7a4576315..26112b9d6 100644 --- a/libshiboken/CMakeLists.txt +++ b/libshiboken/CMakeLists.txt @@ -35,7 +35,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} add_library(libshiboken SHARED ${libshiboken_SRC}) set_property(TARGET libshiboken PROPERTY PREFIX "") target_link_libraries(libshiboken ${SBK_PYTHON_LIBRARIES}) -set_target_properties(libshiboken PROPERTIES VERSION ${libshiboken_VERSION} SOVERSION ${libshiboken_SOVERSION}) +set_target_properties(libshiboken PROPERTIES VERSION ${libshiboken_VERSION} SOVERSION ${libshiboken_SOVERSION} DEFINE_SYMBOL LIBSHIBOKEN_EXPORTS) install(FILES autodecref.h diff --git a/libshiboken/shibokenmacros.h b/libshiboken/shibokenmacros.h index f66083bef..5ef1718c5 100644 --- a/libshiboken/shibokenmacros.h +++ b/libshiboken/shibokenmacros.h @@ -39,10 +39,10 @@ // LIBSHIBOKEN_LOCAL is used for non-api symbols, i.e. internal functions and classes. // Generic helper definitions for shared library support #if defined _WIN32 || defined __CYGWIN__ - #if LIBSHIBOKEN_BUILD + #if LIBSHIBOKEN_EXPORTS #define LIBSHIBOKEN_API __declspec(dllexport) #else - #define LIBSHIBOKEN_API __declspec(dllimport) + #define LIBSHIBOKEN_API #endif #else #if __GNUC__ >= 4 |