src: Mark symbols to be exported where needed
authorManuel Nickschas <sputnick@quassel-irc.org>
Sun, 2 Sep 2018 21:34:36 +0000 (23:34 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 18 Nov 2018 10:06:43 +0000 (11:06 +0100)
commit92fc8c5b119111a35ab8423c3cbde5b2a022badf
treeea3c49a68c2fb0ebbd3423c48c2a0e35e221982a
parentccf1e4557797374c839c567ae14fe12cc1bcffb3
src: Mark symbols to be exported where needed

Generate export headers for the Quassel modules, and mark all
relevant classes and function to be exported so that shared libraries
can be linked against without globally exporting all symbols.
This is a hard requirement for Windows DLLs, and more efficient on
other platforms, too.

For now, this was done incrementally until everything linked properly.
In the future, we may consider explicitly defining the public
interfaces for each module, and trying to minimize the linker
interface e.g. by PIMPLing.
105 files changed:
src/client/CMakeLists.txt
src/client/abstractmessageprocessor.h
src/client/abstractui.h
src/client/buffermodel.h
src/client/buffersettings.h
src/client/bufferviewoverlay.h
src/client/client.h
src/client/clientaliasmanager.h
src/client/clientbacklogmanager.h
src/client/clientbufferviewconfig.h
src/client/clientbufferviewmanager.h
src/client/clientidentity.h
src/client/clientignorelistmanager.h
src/client/clientsettings.h
src/client/coreaccount.h
src/client/coreaccountmodel.h
src/client/coreconnection.h
src/client/irclistmodel.h
src/client/messagefilter.h
src/client/messagemodel.h
src/client/networkmodel.h
src/client/selectionmodelsynchronizer.h
src/client/treemodel.h
src/common/CMakeLists.txt
src/common/aliasmanager.h
src/common/authhandler.h
src/common/backlogmanager.h
src/common/basichandler.h
src/common/bufferinfo.h
src/common/buffersyncer.h
src/common/bufferviewconfig.h
src/common/bufferviewmanager.h
src/common/coreinfo.h
src/common/ctcpevent.h
src/common/dccconfig.h
src/common/deferredptr.h
src/common/event.h
src/common/eventmanager.h
src/common/expressionmatch.h
src/common/highlightrulemanager.h
src/common/identity.h
src/common/ignorelistmanager.h
src/common/internalpeer.h
src/common/ircchannel.h
src/common/ircevent.h
src/common/irclisthelper.h
src/common/ircuser.h
src/common/logger.h
src/common/logmessage.h
src/common/message.h
src/common/messageevent.h
src/common/network.h
src/common/networkconfig.h
src/common/networkevent.h
src/common/nickhighlightmatcher.h
src/common/peer.h
src/common/peerfactory.h
src/common/presetnetworks.h
src/common/quassel.h
src/common/remotepeer.h
src/common/settings.h
src/common/signalproxy.h
src/common/singleton.h
src/common/syncableobject.h
src/common/transfer.h
src/common/transfermanager.h
src/common/util.h
src/core/CMakeLists.txt
src/core/core.h
src/core/coreapplication.h
src/qtui/CMakeLists.txt
src/qtui/bufferwidget.h
src/qtui/qtuiapplication.h
src/uisupport/CMakeLists.txt
src/uisupport/aboutdata.h
src/uisupport/abstractbuffercontainer.h
src/uisupport/abstractitemview.h
src/uisupport/abstractnotificationbackend.h
src/uisupport/action.h
src/uisupport/actioncollection.h
src/uisupport/bufferhotlistfilter.h
src/uisupport/bufferview.h
src/uisupport/bufferviewfilter.h
src/uisupport/bufferviewoverlayfilter.h
src/uisupport/clearablelineedit.h
src/uisupport/clickable.h
src/uisupport/clickablelabel.h
src/uisupport/colorbutton.h
src/uisupport/contextmenuactionprovider.h
src/uisupport/flatproxymodel.h
src/uisupport/fontselector.h
src/uisupport/graphicalui.h
src/uisupport/icon.h
src/uisupport/multilineedit.h
src/uisupport/networkmodelcontroller.h
src/uisupport/nickview.h
src/uisupport/nickviewfilter.h
src/uisupport/resizingstackedwidget.h
src/uisupport/settingspage.h
src/uisupport/styledlabel.h
src/uisupport/tabcompleter.h
src/uisupport/toolbaractionprovider.h
src/uisupport/treeviewtouch.h
src/uisupport/uisettings.h
src/uisupport/uistyle.h