diff options
author | Slávek Banko <[email protected]> | 2016-09-18 20:59:45 +0200 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2016-09-18 21:00:00 +0200 |
commit | 1404d26a1e72b9e29f460fe828d42af57d925a99 (patch) | |
tree | d67a20b74852662a123da6c6d537d6c84820bad6 /ConfigureChecks.cmake | |
parent | e92dc6bf694aea0048ea774c3226a135cd61b6ff (diff) | |
download | tellico-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.cmake | 212 |
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 ) |