summaryrefslogtreecommitdiffstats
path: root/ConfigureChecks.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r--ConfigureChecks.cmake103
1 files changed, 103 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
new file mode 100644
index 0000000..d5976b3
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,103 @@
+###########################################
+# #
+# 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( )
+
+set( ENV{PKG_CONFIG_PATH} "${PKG_CONFIG_PATH}:$ENV{PKG_CONFIG_PATH}:${LIB_INSTALL_DIR}/pkgconfig" )
+
+
+##### check for gcc visibility support
+
+if( WITH_GCC_VISIBILITY )
+ tde_setup_gcc_visibility( )
+endif( WITH_GCC_VISIBILITY )
+
+
+##### check for libgmp
+
+pkg_search_module( GMP gmp )
+if( NOT GMP_FOUND )
+ find_library( GMP_LIBRARIES gmp )
+ if( NOT GMP_LIBRARIES )
+ tde_message_fatal( "libgmp is required but not found on your system" )
+ endif()
+endif( )
+
+
+##### check for avahi
+
+if( WITH_ZEROCONF )
+ pkg_search_module( AVAHI_TQT avahi-tqt )
+ pkg_search_module( AVAHI_CLIENT avahi-client )
+ if( NOT AVAHI_TQT_FOUND OR NOT AVAHI_CLIENT_FOUND OR AVAHI_CLIENT_VERSION VERSION_LESS "0.6.10")
+ tde_message_fatal( "avahi >= 0.6.10 support is requested, but not found on your system" )
+ endif( )
+endif( )
+
+
+##### check for geoip
+
+if( WITH_SYSTEM_GEOIP )
+ pkg_search_module( GEOIP geoip )
+ if( NOT GEOIP_FOUND )
+ tde_message_fatal( "GeoIP is required but was not found on your system" )
+ endif( )
+ set( USE_SYSTEM_GEOIP 1 )
+ # The use of the system-wide geoip database disables the use of the builtin one
+ set( WITH_BUILTIN_GEOIP OFF )
+endif( )
+
+
+##### check for various fuctions, headers and types
+
+check_function_exists( posix_fallocate HAVE_POSIX_FALLOCATE )
+check_function_exists( posix_fallocate64 HAVE_POSIX_FALLOCATE64 )
+check_function_exists( fopen64 HAVE_FOPEN64 )
+check_function_exists( ftruncate64 HAVE_FTRUNCATE64 )
+check_function_exists( lseek64 HAVE_LSEEK64 )
+check_function_exists( mmap64 HAVE_MMAP64 )
+check_function_exists( munmap64 HAVE_MUNMAP64 )
+check_function_exists( statvfs HAVE_STATVFS )
+check_function_exists( statvfs64 HAVE_STATVFS64 )
+
+check_function_exists( fseeko64 _HAVE_FSEEKO64 )
+check_function_exists( ftello64 _HAVE_FTELLO64 )
+if( _HAVE_FSEEKO64 AND _HAVE_FTELLO64 )
+ set( HAVE_FSEEKO64 1 )
+endif( )
+
+check_function_exists( stat64 _HAVE_STAT64 )
+check_function_exists( fstat64 _HAVE_FSTAT64 )
+if( _HAVE_FSTAT64 AND _HAVE_STAT64 )
+ set( HAVE_STAT64 1 )
+endif( )
+
+check_include_file( "xfs/xfs.h" HAVE_XFS_XFS_H )
+
+tde_save_and_set( CMAKE_REQUIRED_INCLUDES )
+check_cxx_source_compiles( "
+ #include <xfs/xfs.h>
+ int main() { __s64 u; return 0; } "
+ HAVE___S64
+)
+check_cxx_source_compiles( "
+ #include <xfs/xfs.h>
+ int main() { __u64 u; return 0; } "
+ HAVE___U64
+)
+tde_restore( CMAKE_REQUIRED_INCLUDES )