| 1 | kdemacros.h doesn't do anything unless __KDE_HAVE_GCC_VISIBILITY |
| 2 | is defined, so KDE_EXPORT et al. end up being empty, so all the |
| 3 | ALK_EXPORTs that expand to that are similarly empty, and the |
| 4 | libalkimia ends up having no exported symbols. |
| 5 | |
| 6 | this ends up being the case when compiling with clang++ |
| 7 | |
| 8 | so lie to kdemacros.h and tell it that we're compiling with gcc |
| 9 | even if we're compiling with clang, which is fine (in this case), |
| 10 | as clang uses the same __attribute__((visibility("default"))) |
| 11 | pragma to mark an object for export. |
| 12 | |
| 13 | --- libalkimia/CMakeLists.txt.orig 2017-10-15 14:58:55.000000000 -0400 |
| 14 | +++ libalkimia/CMakeLists.txt 2017-10-15 14:53:32.000000000 -0400 |
| 15 | @@ -38,7 +38,7 @@ find_package(GMP REQUIRED) |
| 16 | |
| 17 | include(KDE4Defaults) |
| 18 | include_directories(${QDBUS_INCLUDE_DIRS} ${KDE4_INCLUDES}) |
| 19 | -add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DMAKE_ALK_LIB) |
| 20 | +add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DMAKE_ALK_LIB -D__KDE_HAVE_GCC_VISIBILITY) |
| 21 | add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) |
| 22 | |
| 23 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}") |