You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
219 lines
6.1 KiB
219 lines
6.1 KiB
#################################################
|
|
#
|
|
# (C) 2016 Slávek Banko
|
|
# slavek.banko (AT) axis.cz
|
|
#
|
|
# Improvements and feedback are welcome
|
|
#
|
|
# This file is released under GPL >= 2
|
|
#
|
|
#################################################
|
|
|
|
##### check for gcc visibility support #########
|
|
# FIXME
|
|
# This should check for [T]Qt3 visibility support
|
|
|
|
if( WITH_GCC_VISIBILITY )
|
|
if( NOT UNIX )
|
|
tde_message_fatal(FATAL_ERROR "\ngcc visibility support was requested, but your system is not *NIX" )
|
|
endif( NOT UNIX )
|
|
set( __KDE_HAVE_GCC_VISIBILITY 1 )
|
|
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
|
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
|
|
endif( WITH_GCC_VISIBILITY )
|
|
|
|
|
|
##### set architecture flags ####################
|
|
tde_setup_architecture_flags( )
|
|
|
|
include(TestBigEndian)
|
|
test_big_endian(WORDS_BIGENDIAN)
|
|
|
|
|
|
##### required stuff ############################
|
|
|
|
find_package( TQt )
|
|
find_package( TDE )
|
|
set( ENV{PKG_CONFIG_PATH} "${PKG_CONFIG_PATH}:$ENV{PKG_CONFIG_PATH}:${LIB_INSTALL_DIR}/pkgconfig" )
|
|
|
|
|
|
##### check system configuration ################
|
|
|
|
check_symbol_exists( strdup "string.h" HAVE_STRDUP_DECL )
|
|
check_type_size( ushort USHORT )
|
|
check_type_size( boolean BOOLEAN )
|
|
|
|
check_type_size( "int" SIZEOF_INT )
|
|
check_type_size( "long" SIZEOF_LONG )
|
|
check_type_size( "short" SIZEOF_SHORT )
|
|
check_type_size( "unsigned char" SIZEOF_UNSIGNED_CHAR )
|
|
check_type_size( "unsigned int" SIZEOF_UNSIGNED_INT )
|
|
check_type_size( "unsigned long" SIZEOF_UNSIGNED_LONG )
|
|
check_type_size( "unsigned short" SIZEOF_UNSIGNED_SHORT )
|
|
|
|
pkg_search_module( LIBXML libxml-2.0>=2.6.0 )
|
|
if( NOT LIBXML_FOUND )
|
|
tde_message_fatal( "libxml at least 2.6.0 is required, but not found on your system" )
|
|
endif( NOT LIBXML_FOUND )
|
|
|
|
pkg_search_module( LIBXSLT libexslt>=0.8.0 )
|
|
if( NOT LIBXSLT_FOUND )
|
|
pkg_search_module( LIBXSLT libxslt>=1.0.19 )
|
|
if( NOT LIBXSLT_FOUND )
|
|
tde_message_fatal( "libxslt at least 1.0.19 is required, but not found on your system" )
|
|
endif( )
|
|
endif( NOT LIBXSLT_FOUND )
|
|
|
|
pkg_search_module( TAGLIB taglib )
|
|
if( TAGLIB_FOUND )
|
|
set( HAVE_TAGLIB 1 )
|
|
endif( TAGLIB_FOUND )
|
|
|
|
pkg_search_module( YAZ yaz )
|
|
if( YAZ_FOUND )
|
|
set( HAVE_YAZ 1 )
|
|
endif( YAZ_FOUND )
|
|
|
|
if( WITH_LIBKCDDB )
|
|
message( "-- checking for 'libkcddb'" )
|
|
|
|
find_path(
|
|
LIBKCDDB_INCLUDE_DIR
|
|
cddb.h
|
|
PATHS
|
|
${TDE_INCLUDE_DIR}/tde/libkcddb
|
|
${TDE_INCLUDE_DIR}/libkcddb
|
|
NO_DEFAULT_PATH
|
|
)
|
|
|
|
find_library(
|
|
LIBKCDDB_LIBRARY
|
|
kcddb
|
|
PATHS
|
|
${TDE_LIB_DIR}
|
|
${TQT_LIBRARY_DIRS}
|
|
)
|
|
if( LIBKCDDB_LIBRARY )
|
|
get_filename_component( LIBKCDDB_LIBRARY_DIR ${LIBKCDDB_LIBRARY} PATH CACHE )
|
|
endif( )
|
|
|
|
if( NOT LIBKCDDB_INCLUDE_DIR OR NOT LIBKCDDB_LIBRARY_DIR )
|
|
tde_message_fatal( "libkcddb is required, but was not found on your system" )
|
|
else( )
|
|
set( HAVE_KCDDB 1 )
|
|
endif( )
|
|
endif( WITH_LIBKCDDB )
|
|
|
|
if( WITH_LIBKCAL )
|
|
message( "-- checking for 'libkcal'" )
|
|
|
|
find_path(
|
|
LIBKCAL_INCLUDE_DIR
|
|
kcalversion.h
|
|
PATHS
|
|
${TDE_INCLUDE_DIR}/libkcal
|
|
${TDE_INCLUDE_DIR}
|
|
${TQT_INCLUDE_DIRS}
|
|
)
|
|
|
|
find_library(
|
|
LIBKCAL_LIBRARY
|
|
kcal
|
|
PATHS
|
|
${TDE_LIB_DIR}
|
|
${TQT_LIBRARY_DIRS}
|
|
)
|
|
if( LIBKCAL_LIBRARY )
|
|
get_filename_component( LIBKCAL_LIBRARY_DIR ${LIBKCAL_LIBRARY} PATH CACHE )
|
|
endif( )
|
|
|
|
if( NOT LIBKCAL_INCLUDE_DIR OR NOT LIBKCAL_LIBRARY_DIR )
|
|
tde_message_fatal( "libkcal is required, but was not found on your system" )
|
|
else( )
|
|
set( HAVE_KCAL 1 )
|
|
endif( )
|
|
endif( WITH_LIBKCAL )
|
|
|
|
if( WITH_LIBBTPARSE )
|
|
check_library_exists( btparse bt_initialize "" HAVE_LIBBTPARSE )
|
|
if( NOT HAVE_LIBBTPARSE )
|
|
tde_message_fatal( "libbtparse is required, but was not found on your system" )
|
|
endif( NOT HAVE_LIBBTPARSE )
|
|
set( BTPARSE_LIBRARIES btparse )
|
|
else( )
|
|
set( BTPARSE_LIBRARIES btparse-static )
|
|
endif( WITH_LIBBTPARSE )
|
|
|
|
if( WITH_SAX )
|
|
set( SAX_SUPPORT 1 CACHE INTERNAL "" )
|
|
endif( WITH_SAX )
|
|
|
|
|
|
if( BUILD_AMAZON_SUPPORT )
|
|
set( AMAZON_SUPPORT 1 CACHE INTERNAL "" )
|
|
endif( BUILD_AMAZON_SUPPORT )
|
|
|
|
if( BUILD_IMDB_SUPPORT )
|
|
set( IMDB_SUPPORT 1 CACHE INTERNAL "" )
|
|
endif( BUILD_IMDB_SUPPORT )
|
|
|
|
if( BUILD_CDTEXT_SUPPORT )
|
|
set( USE_CDTEXT 1 CACHE INTERNAL "" )
|
|
endif( BUILD_CDTEXT_SUPPORT )
|
|
|
|
if( BUILD_OOO_SUPPORT )
|
|
# FIXME - add configure checks for LibreOffice/OpenOffice.org
|
|
#set( WITH_OOO 1 CACHE INTERNAL "" )
|
|
tde_message_fatal( "CMake build with LibreOffice/OpenOffice.org support is not yet complete" )
|
|
endif( BUILD_OOO_SUPPORT )
|
|
|
|
if( BUILD_EXEMPI_SUPPORT )
|
|
pkg_search_module( EXEMPI exempi-2.0>=1.99.0 )
|
|
if( NOT EXEMPI_FOUND )
|
|
tde_message_fatal( "exempi at least 1.99.0 is required, but not found on your system" )
|
|
else( )
|
|
set( HAVE_EXEMPI 1 CACHE INTERNAL "" )
|
|
endif( )
|
|
endif( BUILD_EXEMPI_SUPPORT )
|
|
|
|
if( BUILD_POPPLER_SUPPORT )
|
|
pkg_search_module( POPPLER poppler-tqt>=0.5 )
|
|
if( NOT POPPLER_FOUND )
|
|
tde_message_fatal( "poppler-tqt at least 0.5 is required, but not found on your system" )
|
|
else( )
|
|
set( HAVE_POPPLER 1 CACHE INTERNAL "" )
|
|
endif( )
|
|
endif( BUILD_POPPLER_SUPPORT )
|
|
|
|
if( BUILD_WEBCAM_SUPPORT )
|
|
check_include_file( "libv4l1-videodev.h" HAVE_LIBV4L1_VIDEODEV_H )
|
|
if( HAVE_LIBV4L1_VIDEODEV_H )
|
|
set( ENABLE_WEBCAM 1 CACHE INTERNAL "" )
|
|
set( VIDEODEV_HEADER "libv4l1-videodev.h" CACHE INTERNAL "" )
|
|
else( )
|
|
check_include_file( "linux/videodev.h" HAVE_VIDEODEV_H )
|
|
if( HAVE_VIDEODEV_H )
|
|
set( ENABLE_WEBCAM 1 CACHE INTERNAL "" )
|
|
set( VIDEODEV_HEADER "linux/videodev.h" CACHE INTERNAL "" )
|
|
else( )
|
|
tde_message_fatal( "libv4l1-videodev.h or linux/videodev.h is required, but not found on your system" )
|
|
endif( )
|
|
endif( )
|
|
set( WEBCAM_LIBRARIES barcode-static )
|
|
endif( BUILD_WEBCAM_SUPPORT )
|
|
|
|
|
|
##### translations ##############################
|
|
|
|
if( BUILD_TRANSLATIONS )
|
|
include( FindGettext )
|
|
if( GETTEXT_FOUND )
|
|
set( MSGFMT_EXECUTABLE ${GETTEXT_MSGFMT_EXECUTABLE}
|
|
CACHE FILEPATH "path to msgfmt executable" )
|
|
endif( GETTEXT_FOUND )
|
|
|
|
if( NOT MSGFMT_EXECUTABLE )
|
|
tde_message_fatal( "msgfmt is required but was not found on your system." )
|
|
endif( NOT MSGFMT_EXECUTABLE )
|
|
endif( BUILD_TRANSLATIONS )
|