From 9b17ca219cb41262cb32fb651bee8a7e352ff541 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Lalinsk=C3=BD?= Date: Tue, 8 Sep 2009 08:52:57 +0000 Subject: [PATCH] Add option for building a static version of taglib git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1021124 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- CMakeLists.txt | 2 ++ bindings/c/CMakeLists.txt | 3 +++ taglib/CMakeLists.txt | 7 ++++++- taglib/taglib_export.h | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ec77cb5d..4fce5287 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,8 @@ project(taglib) cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) +OPTION(ENABLE_STATIC "Make static version of libtag" OFF) + OPTION(BUILD_TESTS "Build the test suite" OFF) OPTION(BUILD_EXAMPLES "Build the examples" OFF) diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt index dfc6721f..80e2884d 100644 --- a/bindings/c/CMakeLists.txt +++ b/bindings/c/CMakeLists.txt @@ -19,6 +19,9 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BIN ########### next target ############### ADD_LIBRARY(tag_c SHARED tag_c.cpp) +if(ENABLE_STATIC) + set_target_properties(tag_c PROPERTIES COMPILE_DEFINITIONS TAGLIB_STATIC) +endif(ENABLE_STATIC) TARGET_LINK_LIBRARIES(tag_c tag ) diff --git a/taglib/CMakeLists.txt b/taglib/CMakeLists.txt index 24832709..d5e9cbf1 100644 --- a/taglib/CMakeLists.txt +++ b/taglib/CMakeLists.txt @@ -184,7 +184,12 @@ SET(tag_LIB_SRCS ${mpeg_SRCS} ${id3v1_SRCS} ${id3v2_SRCS} ${frames_SRCS} ${ogg_S ) -ADD_LIBRARY(tag SHARED ${tag_LIB_SRCS}) +if(ENABLE_STATIC) + add_library(tag STATIC ${tag_LIB_SRCS}) + set_target_properties(tag PROPERTIES COMPILE_DEFINITIONS TAGLIB_STATIC) +else(ENABLE_STATIC) + add_library(tag SHARED ${tag_LIB_SRCS}) +endif(ENABLE_STATIC) TARGET_LINK_LIBRARIES(tag ) if(ZLIB_FOUND) diff --git a/taglib/taglib_export.h b/taglib/taglib_export.h index 02a2f217..a6894d48 100644 --- a/taglib/taglib_export.h +++ b/taglib/taglib_export.h @@ -26,7 +26,7 @@ #ifndef TAGLIB_EXPORT_H #define TAGLIB_EXPORT_H -#if defined(_WIN32) || defined(_WIN64) +#if !defined(TAGLIB_STATIC) && (defined(_WIN32) || defined(_WIN64)) #ifdef MAKE_TAGLIB_LIB #define TAGLIB_EXPORT __declspec(dllexport) #else