]> granicus.if.org Git - taglib/commitdiff
(initial) win32 export support
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>
Sat, 11 Aug 2007 08:29:23 +0000 (08:29 +0000)
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>
Sat, 11 Aug 2007 08:29:23 +0000 (08:29 +0000)
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@698835 283d02a7-25f6-0310-bc7c-ecb5cbfe19da

taglib/CMakeLists.txt
taglib/audioproperties.h
taglib/fileref.h
taglib/tag.h
taglib/taglib_export.h [new file with mode: 0644]

index 03b730521255478df6b08d72bfc03b42798bdadd..8c5f072beab6fceb6c9de6f1f09322e05cd329f4 100644 (file)
@@ -118,7 +118,12 @@ if(ZLIB_FOUND)
        TARGET_LINK_LIBRARIES(tag ${ZLIB_LIBRARIES})
 endif(ZLIB_FOUND)
 
-SET_TARGET_PROPERTIES(tag PROPERTIES VERSION 1.4.0 SOVERSION 1 INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
+SET_TARGET_PROPERTIES(tag PROPERTIES
+        VERSION 1.4.0
+        SOVERSION 1
+        INSTALL_NAME_DIR ${LIB_INSTALL_DIR}
+        DEFINE_SYMBOL MAKE_TAGLIB_LIB
+)
 INSTALL(TARGETS tag DESTINATION ${LIB_INSTALL_DIR} )
 
-INSTALL( FILES  tag.h fileref.h audioproperties.h DESTINATION ${INCLUDE_INSTALL_DIR}/taglib)
+INSTALL( FILES  tag.h fileref.h audioproperties.h taglib_export.h DESTINATION ${INCLUDE_INSTALL_DIR}/taglib)
index 23c69617910820c63ec8621fed9c649d350c763a..662729f755ed6de3f36521845441faab0376e301 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef TAGLIB_AUDIOPROPERTIES_H
 #define TAGLIB_AUDIOPROPERTIES_H
 
+#include "taglib_export.h"
+
 namespace TagLib {
 
   //! A simple, abstract interface to common audio properties
@@ -33,7 +35,7 @@ namespace TagLib {
    * interface that is sufficient for most applications.
    */
 
-  class AudioProperties
+  class TAGLIB_EXPORT AudioProperties
   {
   public:
 
index 74f3ac7cfd996ce3c74c0d28eb6aa1f52462403e..60db142582cc950a58e909f3458140db5307fe23 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <tstringlist.h>
 
+#include "taglib_export.h"
 #include "audioproperties.h"
 
 namespace TagLib {
@@ -52,7 +53,7 @@ namespace TagLib {
    * \see addFileTypeResolver()
    */
 
-  class FileRef
+  class TAGLIB_EXPORT FileRef
   {
   public:
     
index 46999a9ad8ae6614f9cd474e7d5e6ddfd45ca8fb..a466941878afa5778e870f0736fa66ac54c615b5 100644 (file)
@@ -22,6 +22,7 @@
 #ifndef TAGLIB_TAG_H
 #define TAGLIB_TAG_H
 
+#include "taglib_export.h"
 #include "tstring.h"
 
 namespace TagLib {
@@ -36,7 +37,7 @@ namespace TagLib {
    * in TagLib::AudioProperties, TagLib::File and TagLib::FileRef.
    */
 
-  class Tag
+  class TAGLIB_EXPORT Tag
   {
   public:
 
diff --git a/taglib/taglib_export.h b/taglib/taglib_export.h
new file mode 100644 (file)
index 0000000..d537035
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+    Copyright (c) 2006 Volker Krause <vkrause@kde.org>
+
+    This library is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Library General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or (at your
+    option) any later version.
+
+    This library is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+    License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to the
+    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+    02110-1301, USA.
+*/
+
+#ifndef TAGLIB_EXPORT_H
+#define TAGLIB_EXPORT_H
+
+#if defined(_WIN32) || defined(_WIN64)
+#ifdef MAKE_TAGLIB_LIB
+#define TAGLIB_EXPORT __declspec(dllexport)
+#else
+#define TAGLIB_EXPORT __declspec(dllimport)
+#endif
+#else
+#define TAGLIB_EXPORT
+#endif
+
+#endif