summaryrefslogtreecommitdiffstats
path: root/ConfigureChecks.cmake
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2025-01-25 01:26:22 +0100
committerSlávek Banko <slavek.banko@axis.cz>2025-01-25 22:51:01 +0100
commit6f57e70bd5648e0d6d95137254f8fe2d749b188b (patch)
treebe5722c23267c29c51b685cf6bb8bb6de01ad034 /ConfigureChecks.cmake
parent1b7e6ee0522bf1b922d5ca689742d40cbb65b0c5 (diff)
downloadamarok-6f57e70b.tar.gz
amarok-6f57e70b.zip
Fix the problem of linking taglib2 on 32 bit architectures
if taglib is not built with large files support. This resolves the last part from issue #60. Signed-off-by: Slávek Banko <slavek.banko@axis.cz> (cherry picked from commit 122c229a7d64afe9a39b310cc73a747dc01d8ca1)
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r--ConfigureChecks.cmake23
1 files changed, 23 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index ac31667c..a1ac674c 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -109,6 +109,29 @@ else( )
tde_message_fatal( "taglib is required, but not found on your system" )
endif( )
+tde_save_and_set( CMAKE_REQUIRED_DEFINITIONS "${LARGEFILES_DEFINITIONS}" )
+tde_save_and_set( CMAKE_REQUIRED_INCLUDES "${TAGLIB_INCLUDE_DIRS}" )
+tde_save_and_set( CMAKE_REQUIRED_LIBRARIES "${TAGLIB_LIBRARIES}" )
+
+check_cxx_source_compiles( "
+ #include <taglib.h>
+ #include <id3v1tag.h>
+
+ int main( int, char** )
+ {
+ off_t tagOffset = 0;
+ TagLib::File *testFile = nullptr;
+ TagLib::ID3v1::Tag *id3tag = new TagLib::ID3v1::Tag(testFile, tagOffset);
+ return 0;
+ }
+ "
+ TAGLIB_LARGE_FILES_SUPPORT
+)
+
+tde_restore( CMAKE_REQUIRED_DEFINITIONS )
+tde_restore( CMAKE_REQUIRED_INCLUDES )
+tde_restore( CMAKE_REQUIRED_LIBRARIES )
+
# libvisual
if( WITH_LIBVISUAL )