From 06f405f7192f98cd38c6204097e821a9d2329458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Lalinsk=C3=BD?= Date: Fri, 4 Sep 2009 09:29:59 +0000 Subject: [PATCH] Add support for a global, installable config header git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1019671 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- CMakeLists.txt | 9 +++++++++ bindings/c/tag_c.cpp | 4 ++-- configure.in.in | 9 +++++---- taglib/Makefile.am | 2 +- taglib/asf/asfattribute.cpp | 2 +- taglib/asf/asffile.cpp | 2 +- taglib/asf/asfproperties.cpp | 2 +- taglib/asf/asftag.cpp | 2 +- taglib/fileref.cpp | 8 ++++---- taglib/mp4/mp4atom.cpp | 2 +- taglib/mp4/mp4file.cpp | 2 +- taglib/mp4/mp4item.cpp | 2 +- taglib/mp4/mp4properties.cpp | 2 +- taglib/mp4/mp4tag.cpp | 2 +- taglib/taglib_config.h.cmake | 4 ++++ taglib/taglib_config.h.in | 5 +++++ taglib/taglib_export.h | 2 ++ tests/test_fileref.cpp | 8 ++++---- 18 files changed, 45 insertions(+), 24 deletions(-) create mode 100644 taglib/taglib_config.h.cmake create mode 100644 taglib/taglib_config.h.in diff --git a/CMakeLists.txt b/CMakeLists.txt index b3e617db..ec77cb5d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,15 @@ endif(NOT WIN32) include_directories(${CMAKE_CURRENT_BINARY_DIR}) configure_file(config-taglib.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h ) +if(WITH_ASF) + set(TAGLIB_WITH_ASF TRUE) +endif(WITH_ASF) +if(WITH_MP4) + set(TAGLIB_WITH_MP4 TRUE) +endif(WITH_MP4) +configure_file(taglib/taglib_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_config.h ) +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_config.h DESTINATION ${INCLUDE_INSTALL_DIR}/taglib) + ADD_SUBDIRECTORY( taglib ) ADD_SUBDIRECTORY(tests) diff --git a/bindings/c/tag_c.cpp b/bindings/c/tag_c.cpp index 42f503ec..238af078 100644 --- a/bindings/c/tag_c.cpp +++ b/bindings/c/tag_c.cpp @@ -86,11 +86,11 @@ TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type) return reinterpret_cast(new Ogg::Speex::File(filename)); case TagLib_File_TrueAudio: return reinterpret_cast(new TrueAudio::File(filename)); -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 case TagLib_File_MP4: return reinterpret_cast(new MP4::File(filename)); #endif -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF case TagLib_File_ASF: return reinterpret_cast(new ASF::File(filename)); #endif diff --git a/configure.in.in b/configure.in.in index 3cbbae96..ee9a2166 100644 --- a/configure.in.in +++ b/configure.in.in @@ -56,6 +56,7 @@ KDE_CONF_FILES dnl without this order in this file, automake will be confused! dnl AM_CONFIG_HEADER(config.h) +AM_CONFIG_HEADER(taglib/taglib_config.h) dnl checks for programs. dnl first check for c/c++ compilers @@ -129,15 +130,15 @@ AC_DEFUN([AC_NO_CPPUNIT], AC_ARG_ENABLE([mp4], [AS_HELP_STRING([--enable-mp4], [add MP4 support])], [ - AC_DEFINE([WITH_MP4], [1], - [With MP4 support]) + AC_DEFINE([WITH_MP4], [1], [With MP4 support]), + AC_DEFINE([TAGLIB_WITH_MP4], [1], [With MP4 support]) ]) AC_ARG_ENABLE([asf], [AS_HELP_STRING([--enable-asf], [add ASF support])], [ - AC_DEFINE([WITH_ASF], [1], - [With ASF support]) + AC_DEFINE([WITH_ASF], [1], [With ASF support]), + AC_DEFINE([TAGLIB_WITH_ASF], [1], [With ASF support]) ]) AC_LANG_SAVE diff --git a/taglib/Makefile.am b/taglib/Makefile.am index c78a78ea..c11f0d9b 100644 --- a/taglib/Makefile.am +++ b/taglib/Makefile.am @@ -24,7 +24,7 @@ INCLUDES = \ lib_LTLIBRARIES = libtag.la libtag_la_SOURCES = tag.cpp tagunion.cpp fileref.cpp audioproperties.cpp -taglib_include_HEADERS = tag.h fileref.h audioproperties.h taglib_export.h +taglib_include_HEADERS = tag.h fileref.h audioproperties.h taglib_export.h taglib_config.h taglib_includedir = $(includedir)/taglib # Here are a set of rules to help you update your library version information: diff --git a/taglib/asf/asfattribute.cpp b/taglib/asf/asfattribute.cpp index a4a4c178..f9bae658 100644 --- a/taglib/asf/asfattribute.cpp +++ b/taglib/asf/asfattribute.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF #include #include "asfattribute.h" diff --git a/taglib/asf/asffile.cpp b/taglib/asf/asffile.cpp index e403934b..da50056d 100644 --- a/taglib/asf/asffile.cpp +++ b/taglib/asf/asffile.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF #include #include diff --git a/taglib/asf/asfproperties.cpp b/taglib/asf/asfproperties.cpp index 68e2d4ca..f7b7be48 100644 --- a/taglib/asf/asfproperties.cpp +++ b/taglib/asf/asfproperties.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF #include #include diff --git a/taglib/asf/asftag.cpp b/taglib/asf/asftag.cpp index 6bea247f..6ec64aa0 100644 --- a/taglib/asf/asftag.cpp +++ b/taglib/asf/asftag.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF #include "asftag.h" diff --git a/taglib/fileref.cpp b/taglib/fileref.cpp index 31fcddab..8e4272dd 100644 --- a/taglib/fileref.cpp +++ b/taglib/fileref.cpp @@ -129,14 +129,14 @@ StringList FileRef::defaultFileExtensions() l.append("wv"); l.append("spx"); l.append("tta"); -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 l.append("m4a"); l.append("m4b"); l.append("m4p"); l.append("3g2"); l.append("mp4"); #endif -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF l.append("wma"); l.append("asf"); #endif @@ -221,11 +221,11 @@ File *FileRef::create(FileName fileName, bool readAudioProperties, return new Ogg::Speex::File(fileName, readAudioProperties, audioPropertiesStyle); if(ext == "TTA") return new TrueAudio::File(fileName, readAudioProperties, audioPropertiesStyle); -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 if(ext == "M4A" || ext == "M4B" || ext == "M4P" || ext == "MP4" || ext == "3G2") return new MP4::File(fileName, readAudioProperties, audioPropertiesStyle); #endif -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF if(ext == "WMA" || ext == "ASF") return new ASF::File(fileName, readAudioProperties, audioPropertiesStyle); #endif diff --git a/taglib/mp4/mp4atom.cpp b/taglib/mp4/mp4atom.cpp index ba07409a..7ef16317 100644 --- a/taglib/mp4/mp4atom.cpp +++ b/taglib/mp4/mp4atom.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 #include #include diff --git a/taglib/mp4/mp4file.cpp b/taglib/mp4/mp4file.cpp index 3165256c..bbf58b05 100644 --- a/taglib/mp4/mp4file.cpp +++ b/taglib/mp4/mp4file.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 #include #include diff --git a/taglib/mp4/mp4item.cpp b/taglib/mp4/mp4item.cpp index 2b5613ad..f0cb9ebf 100644 --- a/taglib/mp4/mp4item.cpp +++ b/taglib/mp4/mp4item.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 #include #include diff --git a/taglib/mp4/mp4properties.cpp b/taglib/mp4/mp4properties.cpp index c973d3a2..2ae762bb 100644 --- a/taglib/mp4/mp4properties.cpp +++ b/taglib/mp4/mp4properties.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 #include #include diff --git a/taglib/mp4/mp4tag.cpp b/taglib/mp4/mp4tag.cpp index e73952d7..77f1a317 100644 --- a/taglib/mp4/mp4tag.cpp +++ b/taglib/mp4/mp4tag.cpp @@ -27,7 +27,7 @@ #include #endif -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 #include #include diff --git a/taglib/taglib_config.h.cmake b/taglib/taglib_config.h.cmake new file mode 100644 index 00000000..aa9df25f --- /dev/null +++ b/taglib/taglib_config.h.cmake @@ -0,0 +1,4 @@ +/* taglib_config.h. Generated by cmake from taglib_config.h.cmake */ + +#cmakedefine TAGLIB_WITH_ASF 1 +#cmakedefine TAGLIB_WITH_MP4 1 diff --git a/taglib/taglib_config.h.in b/taglib/taglib_config.h.in new file mode 100644 index 00000000..7be11706 --- /dev/null +++ b/taglib/taglib_config.h.in @@ -0,0 +1,5 @@ +/* With ASF support */ +#undef TAGLIB_WITH_ASF + +/* With MP4 support */ +#undef TAGLIB_WITH_MP4 diff --git a/taglib/taglib_export.h b/taglib/taglib_export.h index d14d69f0..02a2f217 100644 --- a/taglib/taglib_export.h +++ b/taglib/taglib_export.h @@ -36,4 +36,6 @@ #define TAGLIB_EXPORT #endif +#include "taglib_config.h" + #endif diff --git a/tests/test_fileref.cpp b/tests/test_fileref.cpp index 880c300a..6617ccd1 100644 --- a/tests/test_fileref.cpp +++ b/tests/test_fileref.cpp @@ -14,7 +14,7 @@ using namespace TagLib; class TestFileRef : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(TestFileRef); -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF CPPUNIT_TEST(testASF); #endif CPPUNIT_TEST(testMusepack); @@ -22,7 +22,7 @@ class TestFileRef : public CppUnit::TestFixture CPPUNIT_TEST(testSpeex); CPPUNIT_TEST(testFLAC); CPPUNIT_TEST(testMP3); -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 CPPUNIT_TEST(testMP4_1); CPPUNIT_TEST(testMP4_2); CPPUNIT_TEST(testMP4_3); @@ -82,7 +82,7 @@ public: fileRefSave("click", ".mpc"); } -#ifdef WITH_ASF +#ifdef TAGLIB_WITH_ASF void testASF() { fileRefSave("silence-1", ".wma"); @@ -114,7 +114,7 @@ public: fileRefSave("empty", ".tta"); } -#ifdef WITH_MP4 +#ifdef TAGLIB_WITH_MP4 void testMP4_1() { fileRefSave("has-tags", ".m4a");