]> granicus.if.org Git - taglib/commitdiff
Add option for building a static version of taglib
authorLukáš Lalinský <lalinsky@gmail.com>
Tue, 8 Sep 2009 08:52:57 +0000 (08:52 +0000)
committerLukáš Lalinský <lalinsky@gmail.com>
Tue, 8 Sep 2009 08:52:57 +0000 (08:52 +0000)
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1021124 283d02a7-25f6-0310-bc7c-ecb5cbfe19da

CMakeLists.txt
bindings/c/CMakeLists.txt
taglib/CMakeLists.txt
taglib/taglib_export.h

index ec77cb5df170d446226f8190ebd3f4db26a64627..4fce528733a36b451f588ea930460fc3e0f0d60c 100644 (file)
@@ -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)
 
index dfc6721f596fb24e9e16176caadbe5385498aca2..80e2884d14ce3fdf19265955f00e06a4bfdfc75c 100644 (file)
@@ -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 )
 
index 24832709bcad5afa4eb81b9420e882f5a269c705..d5e9cbf1e155b66ec316fff2aa0d7447db39c86c 100644 (file)
@@ -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)
index 02a2f2171af50174cada67220de385cc0a9d327e..a6894d4896ee3934b08df1da88797bd599fe8f48 100644 (file)
@@ -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