From 5dba77517a761f7803d016838fad9e4c30a9a381 Mon Sep 17 00:00:00 2001 From: "Marcus D. Hanwell" Date: Sat, 5 Apr 2008 18:20:23 -0400 Subject: [PATCH] This might be the "right way" to fix the issue - mark our exported classes as visible. Some help from the KDE dev ML and lots of reading KDE source and articles... --- kalzium/CMakeLists.txt | 6 +++--- kalzium/compoundviewer/kalziumglpart.cpp | 8 +++++++- kalzium/compoundviewer/kalziumglpart.h | 3 ++- kalzium/libavogadro-kalzium/src/engines/CMakeLists.txt | 3 --- kalzium/libavogadro-kalzium/src/global.h | 4 ++-- kalzium/libavogadro-kalzium/src/glwidget.cpp | 2 +- kalzium/libavogadro-kalzium/src/textrenderer.h | 2 +- kalzium/libavogadro-kalzium/src/tools/CMakeLists.txt | 3 --- 8 files changed, 16 insertions(+), 15 deletions(-) diff --git a/kalzium/CMakeLists.txt b/kalzium/CMakeLists.txt index 3fed1d8..adb5c10 100644 --- a/kalzium/CMakeLists.txt +++ b/kalzium/CMakeLists.txt @@ -8,11 +8,11 @@ macro_log_feature(PLASMA_FOUND "Plasma" "Plasma is the KDE4 desktop" "http://pla if(OPENBABEL2_FOUND AND OPENGL_FOUND AND EIGEN_FOUND) add_subdirectory(libavogadro-kalzium) - # add_subdirectory(compoundviewer) + add_subdirectory(compoundviewer) endif(OPENBABEL2_FOUND AND OPENGL_FOUND AND EIGEN_FOUND) -#add_subdirectory(src) -##add_subdirectory(data) +add_subdirectory(src) +add_subdirectory(data) #if(HAVE_PLASMA) # add_subdirectory(plasmoid) #endif(HAVE_PLASMA) diff --git a/kalzium/compoundviewer/kalziumglpart.cpp b/kalzium/compoundviewer/kalziumglpart.cpp index fabb364..776177e 100644 --- a/kalzium/compoundviewer/kalziumglpart.cpp +++ b/kalzium/compoundviewer/kalziumglpart.cpp @@ -61,12 +61,18 @@ void KalziumGLWidget::setStyle( int style ) || ( style == 2 && engine->name() == "Sphere" ) || ( style == 3 && engine->name() == "Wireframe" ) ) { engine->setEnabled(true); - setRenderingEngine(engine); + /// FIXME: Need to resolve... + //setRenderingEngine(engine); } } update(); } +void KalziumGLWidget::setLabels(int style) +{ + /// FIXME: Make this work! +} + typedef KParts::GenericFactory KalziumGLPartFactory; K_EXPORT_COMPONENT_FACTORY (libkalziumglpart, KalziumGLPartFactory) diff --git a/kalzium/compoundviewer/kalziumglpart.h b/kalzium/compoundviewer/kalziumglpart.h index 09b7af8..b1c0a34 100644 --- a/kalzium/compoundviewer/kalziumglpart.h +++ b/kalzium/compoundviewer/kalziumglpart.h @@ -28,7 +28,8 @@ class KalziumGLWidget : public Avogadro::GLWidget virtual ~KalziumGLWidget(); public slots: - void setStyle( int style ); + void setStyle(int style); + void setLabels(int style); protected: QString lc_numeric; diff --git a/kalzium/libavogadro-kalzium/src/engines/CMakeLists.txt b/kalzium/libavogadro-kalzium/src/engines/CMakeLists.txt index 955a79a..2484445 100644 --- a/kalzium/libavogadro-kalzium/src/engines/CMakeLists.txt +++ b/kalzium/libavogadro-kalzium/src/engines/CMakeLists.txt @@ -16,9 +16,6 @@ ADD_DEFINITIONS(-DQT_SHARED) link_directories(${CMAKE_CURRENT_BINARY_DIR}/..) -# The -Wl,--no-undefined linker flag was breaking linking of the plugins -set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings") - # ball and stick dynamic engine set(bsdyengine_SRCS bsdyengine.cpp) qt4_wrap_ui(bsdyengine_UIS bsdysettingswidget.ui) diff --git a/kalzium/libavogadro-kalzium/src/global.h b/kalzium/libavogadro-kalzium/src/global.h index 35c93ac..65ec3d7 100644 --- a/kalzium/libavogadro-kalzium/src/global.h +++ b/kalzium/libavogadro-kalzium/src/global.h @@ -37,8 +37,8 @@ # define A_DECL_IMPORT __declspec(dllimport) # define A_DECL_EXPORT __declspec(dllexport) #else -# define A_DECL_IMPORT -# define A_DECL_EXPORT +# define A_DECL_IMPORT __attribute__ ((visibility("default"))) +# define A_DECL_EXPORT __attribute__ ((visibility("default"))) #endif #ifndef A_EXPORT diff --git a/kalzium/libavogadro-kalzium/src/glwidget.cpp b/kalzium/libavogadro-kalzium/src/glwidget.cpp index 2f36620..e42bd13 100644 --- a/kalzium/libavogadro-kalzium/src/glwidget.cpp +++ b/kalzium/libavogadro-kalzium/src/glwidget.cpp @@ -1027,7 +1027,7 @@ namespace Avogadro { } } - void GLWidget::setMolecule( Molecule *molecule ) + void A_EXPORT GLWidget::setMolecule( Molecule *molecule ) { if ( !molecule ) { return; } diff --git a/kalzium/libavogadro-kalzium/src/textrenderer.h b/kalzium/libavogadro-kalzium/src/textrenderer.h index 48f9ef1..b7ba6e7 100644 --- a/kalzium/libavogadro-kalzium/src/textrenderer.h +++ b/kalzium/libavogadro-kalzium/src/textrenderer.h @@ -94,7 +94,7 @@ namespace Avogadro { class CharRenderer; - class A_EXPORT GLWidget; + class GLWidget; class TextRendererPrivate; class TextRenderer diff --git a/kalzium/libavogadro-kalzium/src/tools/CMakeLists.txt b/kalzium/libavogadro-kalzium/src/tools/CMakeLists.txt index c71272e..cf7de41 100644 --- a/kalzium/libavogadro-kalzium/src/tools/CMakeLists.txt +++ b/kalzium/libavogadro-kalzium/src/tools/CMakeLists.txt @@ -15,9 +15,6 @@ include_directories( link_directories(${CMAKE_CURRENT_BINARY_DIR}/..) -# The -Wl,--no-undefined linker flag was breaking linking of the plugins -set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings") - ### drawtool set(drawtool_SRCS drawtool.cpp) qt4_add_resources(drawtool_RC_SRCS drawtool.qrc) -- 2.11.4.GIT