summaryrefslogtreecommitdiffstats
path: root/ConfigureChecks.cmake
diff options
context:
space:
mode:
authorSlávek Banko <[email protected]>2016-09-18 20:59:45 +0200
committerSlávek Banko <[email protected]>2016-09-18 21:00:00 +0200
commit1404d26a1e72b9e29f460fe828d42af57d925a99 (patch)
treed67a20b74852662a123da6c6d537d6c84820bad6 /ConfigureChecks.cmake
parente92dc6bf694aea0048ea774c3226a135cd61b6ff (diff)
downloadtellico-1404d26a1e72b9e29f460fe828d42af57d925a99.tar.gz
tellico-1404d26a1e72b9e29f460fe828d42af57d925a99.zip
Initial cmake conversion
Signed-off-by: Slávek Banko <[email protected]> (cherry picked from commit 3f7006b6807add37a3de957c525600a31424a498)
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r--ConfigureChecks.cmake212
1 files changed, 212 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
new file mode 100644
index 0000000..aabc1a9
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,212 @@
+#################################################
+#
+# (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( )
+
+
+##### 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 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( 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 )