]> granicus.if.org Git - taglib/commitdiff
Added a CMake option that allows to show debug messages in release mode
authorTsuda Kageyu <tsuda.kageyu@gmail.com>
Sun, 9 Jun 2013 14:52:05 +0000 (23:52 +0900)
committerTsuda Kageyu <tsuda.kageyu@gmail.com>
Sun, 9 Jun 2013 14:52:05 +0000 (23:52 +0900)
CMakeLists.txt
taglib/taglib_config.h.cmake
taglib/toolkit/tdebug.cpp
taglib/toolkit/tdebuglistener.cpp

index bbcf8d898e004f303df4c416bb6e54ed4919d484..80bc2dd3cd6248c99839fb2665f8a63314615682 100755 (executable)
@@ -90,6 +90,11 @@ if(WITH_MP4)
   set(TAGLIB_WITH_MP4 TRUE)
 endif()
 
+option(TRACE_IN_RELEASE "Output debug messages even in release mode"  OFF)
+if(TRACE_IN_RELEASE)
+  set(TAGLIB_TRACE_IN_RELEASE TRUE)
+endif()
+
 configure_file(taglib/taglib_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_config.h)
 
 add_subdirectory(taglib) 
index 1560c247867f92b2523a3e6c6eb671cfa763a8a5..4ccb0158de3c2d91f37583185672f8479498478b 100644 (file)
@@ -3,3 +3,4 @@
 #define   TAGLIB_WITH_ASF 1
 #define   TAGLIB_WITH_MP4 1
 
+#cmakedefine   TAGLIB_TRACE_IN_RELEASE 1
index 133aad391698b2f0a7df0d22876eb29693ec9f88..f4025e9b4e280644cec15ec74c840d0aaa073de3 100644 (file)
@@ -24,6 +24,7 @@
  ***************************************************************************/
 
 #include "config.h"
+#include "taglib_config.h"
 
 #include "tdebug.h"
 #include "tstring.h"
@@ -67,11 +68,17 @@ namespace
 
 void TagLib::debug(const String &s)
 {
+#if !defined(NDEBUG) || defined(TAGLIB_TRACE_IN_RELEASE)
+  
   getDebugListener()->printMessage("TagLib: " + s + "\n");
+
+#endif
 }
 
 void TagLib::debugData(const ByteVector &v)
 {
+#if !defined(NDEBUG) || defined(TAGLIB_TRACE_IN_RELEASE)
+
   for(size_t i = 0; i < v.size(); ++i) 
   {
     String msg 
@@ -85,4 +92,6 @@ void TagLib::debugData(const ByteVector &v)
 
     getDebugListener()->printMessage(msg);
   }
+
+#endif
 }
index 3b138e51e31995ffbd28c9fab047bd881bf04363..b472dee99f8a18e85909eb37b16ed09e79a1fa3b 100644 (file)
 
 #include "tdebuglistener.h"
 
-#ifndef NDEBUG
-# include <iostream>
-# include <bitset>
-# ifdef _WIN32
-#   include <windows.h>
-# endif
+#include <iostream>
+#include <bitset>
+
+#ifdef _WIN32
+# include <windows.h>
 #endif
 
 using namespace TagLib;
@@ -42,8 +41,7 @@ namespace
   public:
     virtual void printMessage(const String &msg)
     {
-#ifndef NDEBUG
-# ifdef _WIN32
+#ifdef _WIN32
 
       const wstring wstr = msg.toWString();
       const int len = WideCharToMultiByte(CP_ACP, 0, wstr.c_str(), -1, NULL, 0, NULL, NULL);
@@ -54,13 +52,11 @@ namespace
         std::cerr << std::string(&buf[0]);
       }
 
-
-# else
+#else
 
       std::cerr << msg;
 
-# endif 
-#endif
+#endif 
     }
   };