From 5f465d1eedff7727d005e2724dbc56960b0f313b Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Wed, 18 Aug 2010 17:09:07 -0300 Subject: Use DEFINE_SYMBOL in cmake to create the define to exports symbols. Reviewer: Luciano Wolf Hugo Parente Lima --- CMakeLists.txt | 10 ++++++---- GeneratorRunnerConfig.cmake.in | 2 ++ generatorrunnermacros.h | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a2ba54a60..7804e7db6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,10 +8,12 @@ find_package(ApiExtractor 0.7 REQUIRED) option(BUILD_TESTS "Build tests." TRUE) if(MSVC) - set(CMAKE_CXX_FLAGS "/Zc:wchar_t- /EHsc /DWIN32 /D_WINDOWS /DGENRUNNER_BUILD /D_SCL_SECURE_NO_WARNINGS") -elseif(CMAKE_HOST_UNIX) + set(CMAKE_CXX_FLAGS "/Zc:wchar_t- /EHsc /DWIN32 /D_WINDOWS /D_SCL_SECURE_NO_WARNINGS") +else() option(ENABLE_GCC_OPTIMIZATION "Enable specific GCC flags to optimize library size and performance. Only available on Release Mode" 0) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden") + if (CMAKE_HOST_UNIX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden") + endif() set(CMAKE_CXX_FLAGS_DEBUG "-g") if(ENABLE_GCC_OPTIMIZATION) set(CMAKE_BUILD_TYPE Release) @@ -51,7 +53,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${QT_QTCORE_INCLUDE_DIR}) add_library(genrunner SHARED generator.cpp) -set_target_properties(genrunner PROPERTIES VERSION ${generator_VERSION}) +set_target_properties(genrunner PROPERTIES VERSION ${generator_VERSION} DEFINE_SYMBOL GENRUNNER_EXPORTS) target_link_libraries(genrunner ${QT_QTCORE_LIBRARY} ${APIEXTRACTOR_LIBRARY}) set_target_properties(genrunner PROPERTIES VERSION ${generator_VERSION} SOVERSION ${generator_SOVERSION}) diff --git a/GeneratorRunnerConfig.cmake.in b/GeneratorRunnerConfig.cmake.in index ff9b7334f..f8977272a 100644 --- a/GeneratorRunnerConfig.cmake.in +++ b/GeneratorRunnerConfig.cmake.in @@ -5,6 +5,8 @@ SET(GENERATORRUNNER_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include/generatorrunner") if(MSVC) SET(GENERATORRUNNER_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@genrunner.lib") +elseif(WIN32) + SET(GENERATORRUNNER_LIBRARY "@CMAKE_INSTALL_PREFIX@/bin/@CMAKE_SHARED_LIBRARY_PREFIX@genrunner@CMAKE_SHARED_LIBRARY_SUFFIX@") else() SET(GENERATORRUNNER_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@genrunner@CMAKE_SHARED_LIBRARY_SUFFIX@") endif() diff --git a/generatorrunnermacros.h b/generatorrunnermacros.h index c68f328d3..f76f24e38 100644 --- a/generatorrunnermacros.h +++ b/generatorrunnermacros.h @@ -27,10 +27,10 @@ // GENRUNNER_API is used for the public API symbols. #if defined _WIN32 || defined __CYGWIN__ #define GENRUNNER_EXPORT __declspec(dllexport) - #if GENRUNNER_BUILD + #if GENRUNNER_EXPORTS #define GENRUNNER_API GENRUNNER_EXPORT #else - #define GENRUNNER_API __declspec(dllimport) + #define GENRUNNER_API #endif // dont worry about deprecated functions under windows #define GENRUNNER_DEPRECATED -- cgit v1.2.3