summaryrefslogtreecommitdiffstats
path: root/ConfigureChecks.cmake
blob: ec597fc549722a1799d1ba275faa47a5204c67b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
###########################################
#                                         #
#  Improvements and feedback are welcome  #
#                                         #
#  This file is released under GPL >= 3   #
#                                         #
###########################################


# required stuff
find_package( TQt )
find_package( TDE )

tde_setup_architecture_flags( )

include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)

tde_setup_largefiles( )

check_type_size( "int" SIZEOF_INT BUILTIN_TYPES_ONLY )
check_type_size( "long" SIZEOF_LONG BUILTIN_TYPES_ONLY )


##### check for gcc visibility support

if( WITH_GCC_VISIBILITY )
  tde_setup_gcc_visibility( )
endif( WITH_GCC_VISIBILITY )


##### check for taglib

pkg_search_module( TAGLIB taglib )
if( TAGLIB_FOUND )
  if( ${TAGLIB_VERSION} VERSION_LESS "1.4" )
    tde_message_fatal( "taglib version must be at least 1.4" )
  else( )
    message( STATUS "Found TAGLIB: ${TAGLIB_INCLUDE_DIRS}" )
  endif( )
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 )


##### check for cdda interface and paranoia

message( STATUS "Checking for CDParanonia" )
find_path( CDPARANOIA_INCLUDE_DIR cdda_interface.h PATH_SUFFIXES cdda )
find_library( CDPARANOIA_LIBRARY NAMES cdda_paranoia )
find_library( CDPARANOIA_IF_LIBRARY NAMES cdda_interface )
if( CDPARANOIA_LIBRARY AND CDPARANOIA_IF_LIBRARY )
  set( CDPARANOIA_LIBRARIES ${CDPARANOIA_LIBRARY} ${CDPARANOIA_IF_LIBRARY} )
else( )
  tde_message_fatal( "CDParanoia is required, but not found on your system" )
endif( )