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.
tdewebdev/ConfigureChecks.cmake

143 lines
3.8 KiB

#################################################
#
# (C) 2010 Serghei Amelian
# serghei (DOT) amelian (AT) gmail.com
#
# Improvements and feedback are welcome
#
# This file is released under GPL >= 2
#
#################################################
# required stuff
find_package( TQt )
find_package( TDE )
tde_setup_architecture_flags( )
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)
##### check for gcc visibility support
if( WITH_GCC_VISIBILITY )
if( NOT UNIX )
tde_message_fatal( "gcc 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 )
##### find X11 stuff
find_package( X11)
if( (BUILD_QUANTA) OR (BUILD_KXSLDBG) OR (BUILD_KLINKSTATUS) )
##### check for libxml-2.0
pkg_search_module( LIBXML libxml-2.0 )
if( NOT LIBXML_FOUND )
tde_message_fatal( "libxml-2.0 is required but was not found on your system" )
else()
if( ${LIBXML_VERSION} VERSION_LESS "2.6" )
tde_message_fatal( "libxml-2.0 version must be, at least, up to 2.6" )
else()
set( LIBXML_2_5 1 )
endif()
endif( NOT LIBXML_FOUND )
##### check for libxslt
pkg_search_module( LIBXSLT libxslt )
if( NOT LIBXSLT_FOUND )
tde_message_fatal( "libxslt are required, but not found on your system" )
endif()
endif( (BUILD_QUANTA) OR (BUILD_KXSLDBG) OR (BUILD_KLINKSTATUS) )
if( BUILD_KXSLDBG )
find_package( Threads )
##### check for libexslt
pkg_search_module( LIBEXSLT libexslt )
if( NOT LIBEXSLT_FOUND )
tde_message_fatal( "libexlt is required but was not found on your system" )
endif( NOT LIBEXSLT_FOUND )
##### check for readline and ncurses
find_path( READLINE_INCLUDE_DIR
NAMES "readline/readline.h" "readline/history.h"
HINTS "/usr/include" "/usr/local/include"
DOC "Looking for readline header's path"
)
find_library( READLINE_LIBRARY
NAMES readline history
DOC "Looking for readline libraries"
)
if( (READLINE_INCLUDE_DIR) AND ( READLINE_LIBRARY ) )
set( HAVE_READLINE 1 )
set( HAVE_HISTORY 1 )
set( READLINE_LIBRARIES ${READLINE_LIBRARY} )
set( READLINE_INCLUDE_DIRS ${READLINE_INCLUDE_DIR} )
else( )
tde_message_fatal( "readline is required but was not found on your system" )
endif( )
##### look for Curses
find_package( Curses )
if( NOT CURSES_FOUND )
tde_message_fatal( "(n)curses is required but was not found on your system" )
endif( )
##### check for headers
check_include_file( unistd.h HAVE_UNISTD_H )
check_include_file( string.h HAVE_STRING_H )
check_include_file( sys/time.h HAVE_SYS_TIME_H )
check_include_file( sys/stat.h HAVE_SYS_STAT_H )
check_include_file( stdlib.h HAVE_STDLIB_H )
check_include_file( stdarg.h HAVE_STDARG_H )
check_include_file( time.h HAVE_TIME_H )
#check_include_file( locale.h LOCALE_PREFIX )
check_include_file( pthread.h USE_XSLDBG_AS_THREAD )
##### check for functions
check_function_exists( gettimeofday HAVE_GETTIMEOFDAY )
check_function_exists( usleep HAVE_USLEEP )
check_function_exists( stat HAVE_STAT )
if( USE_DOCS_MACRO )
set( DOCS_PATH "${CMAKE_INSTALL_PREFIX}/doc/xsldbg" CACHE STRING "xsldbg's documentation path" )
endif()
endif( BUILD_KXSLDBG )
if( WITH_OTHER_EDITORS )
set( ENABLE_EDITORS 1 )
endif( WITH_OTHER_EDITORS )
if( BUILD_QUANTA )
find_file( CVSSERVIVE_HEADERS NAMES repository_stub.h cvsservice_stub.h cvsjob_stub.h )
if( CVSSERVIVE_HEADERS )
set( ENABLE_CVSSERVICE 1 )
set( BUILD_CVSSERVICE 1 )
set( CVSSERVICE_LIBRARIES "cvsservice-static;cvsservice" CACHE INTERNAL "tdesdk and embedded cvssercice libs" FORCE)
endif()
endif( BUILD_QUANTA )