From: Lukáš Lalinský Date: Sun, 18 Mar 2012 08:22:53 +0000 (+0100) Subject: Merge branch 'stable' X-Git-Tag: v1.8beta~21 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2a4850f2113ecedd6e86697b024d29802d8e89e3;p=taglib Merge branch 'stable' Conflicts: CMakeLists.txt --- 2a4850f2113ecedd6e86697b024d29802d8e89e3 diff --cc CMakeLists.txt index 0c0c9097,06b876cf..da17b8af --- a/CMakeLists.txt +++ b/CMakeLists.txt @@@ -2,67 -2,48 +2,67 @@@ project(taglib cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) -OPTION(ENABLE_STATIC "Make static version of libtag" OFF) +option(ENABLE_STATIC "Make static version of libtag" OFF) +if(ENABLE_STATIC) + add_definitions(-DTAGLIB_STATIC) + set(BUILD_SHARED_LIBS OFF) +else() + set(BUILD_SHARED_LIBS ON) +endif() +OPTION(ENABLE_STATIC_RUNTIME "Visual Studio, link with runtime statically" OFF) -OPTION(BUILD_TESTS "Build the test suite" OFF) -OPTION(BUILD_EXAMPLES "Build the examples" OFF) +option(VISIBILITY_HIDDEN "Build with -fvisibility=hidden" OFF) +if(VISIBILITY_HIDDEN) + add_definitions (-fvisibility=hidden) +endif() -OPTION(NO_ITUNES_HACKS "Disable workarounds for iTunes bugs" OFF) -OPTION(WITH_ASF "Enable ASF tag reading/writing code" OFF) -OPTION(WITH_MP4 "Enable MP4 tag reading/writing code" OFF) +option(BUILD_TESTS "Build the test suite" OFF) +option(BUILD_EXAMPLES "Build the examples" OFF) + +option(NO_ITUNES_HACKS "Disable workarounds for iTunes bugs" OFF) add_definitions(-DHAVE_CONFIG_H) +set(TESTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tests/") -#add some KDE specific stuff -set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) -set(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Base directory for executables and libraries" FORCE) -# ## the following are directories where stuff will be installed to -set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)" FORCE) -set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE) -set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE) - -if (CMAKE_COMPILER_IS_GNUCXX) - if (CMAKE_SYSTEM_NAME MATCHES Linux) - set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common") - set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-check-new -fno-common") - endif (CMAKE_SYSTEM_NAME MATCHES Linux) -endif (CMAKE_COMPILER_IS_GNUCXX) -if(MSVC) - if (MSVC_VERSION GREATER 1399) - # If using Visual C++ 2005 (MSVC80) and greater (MSVC_VERSION=1400) - add_definitions(/D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /Zc:wchar_t-) - endif (MSVC_VERSION GREATER 1399) -endif(MSVC) -if (WIN32) - set(CMAKE_DEBUG_POSTFIX "d") -endif (WIN32) - -SET(TAGLIB_LIB_MAJOR_VERSION "1") -SET(TAGLIB_LIB_MINOR_VERSION "7") -SET(TAGLIB_LIB_PATCH_VERSION "1") - -SET(TAGLIB_LIB_VERSION_STRING "${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}.${TAGLIB_LIB_PATCH_VERSION}") - +set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") +set(EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Base directory for executables and libraries" FORCE) +set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)" FORCE) +set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE) +set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE) + +if(APPLE) + option(BUILD_FRAMEWORK "Build an OS X framework" OFF) + set(FRAMEWORK_INSTALL_DIR "/Library/Frameworks" CACHE STRING "Directory to install frameworks to.") +endif() + +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") +endif() +if (MSVC AND ENABLE_STATIC_RUNTIME) + foreach(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) + string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") + endforeach(flag_var) +endif() + +set(TAGLIB_LIB_MAJOR_VERSION "1") +set(TAGLIB_LIB_MINOR_VERSION "7") - set(TAGLIB_LIB_PATCH_VERSION "0") ++set(TAGLIB_LIB_PATCH_VERSION "1") + +set(TAGLIB_LIB_VERSION_STRING "${TAGLIB_LIB_MAJOR_VERSION}.${TAGLIB_LIB_MINOR_VERSION}.${TAGLIB_LIB_PATCH_VERSION}") + +# 1. If the library source code has changed at all since the last update, then increment revision. +# 2. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0. +# 3. If any interfaces have been added since the last public release, then increment age. +# 4. If any interfaces have been removed since the last public release, then set age to 0. +set(TAGLIB_SOVERSION_CURRENT 11) - set(TAGLIB_SOVERSION_REVISION 0) ++set(TAGLIB_SOVERSION_REVISION 1) +set(TAGLIB_SOVERSION_AGE 10) + +math(EXPR TAGLIB_SOVERSION_MAJOR "${TAGLIB_SOVERSION_CURRENT} - ${TAGLIB_SOVERSION_AGE}") +math(EXPR TAGLIB_SOVERSION_MINOR "${TAGLIB_SOVERSION_AGE}") +math(EXPR TAGLIB_SOVERSION_PATCH "${TAGLIB_SOVERSION_REVISION}") include(ConfigureChecks.cmake) diff --cc taglib/toolkit/tstring.cpp index d85305d2,484991ea..f99d1c37 --- a/taglib/toolkit/tstring.cpp +++ b/taglib/toolkit/tstring.cpp @@@ -26,9 -26,8 +26,9 @@@ #include "tstring.h" #include "unicode.h" #include "tdebug.h" +#include "tstringlist.h" - #include + #include #include