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
7.2 KiB
219 lines
7.2 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 )
|
|
tde_setup_gcc_visibility( )
|
|
endif( WITH_GCC_VISIBILITY )
|
|
|
|
|
|
##### find X11
|
|
|
|
find_package( X11)
|
|
|
|
|
|
##### 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( (BUILD_QUANTA) OR (BUILD_KXSLDBG) OR (BUILD_KLINKSTATUS) )
|
|
|
|
##### check for icu's c++ standard
|
|
|
|
pkg_search_module( ICU_UC icu-uc )
|
|
tde_execute_process(
|
|
COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=CXXFLAGS icu-uc
|
|
OUTPUT_VARIABLE ICU_CXXFLAGS
|
|
)
|
|
|
|
|
|
##### 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" )
|
|
elseif( ${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 )
|
|
tde_save( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
|
|
set( CMAKE_REQUIRED_INCLUDES ${LIBXML_INCLUDE_DIRS} )
|
|
set( CMAKE_REQUIRED_LIBRARIES ${LIBXML_LIBRARIES} )
|
|
check_function_exists( xmlSetEntityReferenceFunc HAVE_INCLUDE_FIX )
|
|
tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
|
|
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( NOT LIBXSLT_FOUND )
|
|
|
|
|
|
if( BUILD_QUANTA )
|
|
if( WITH_QUANTA_CVSSERVICE )
|
|
tde_import( cervisia )
|
|
find_file( CVSSERVICE_HEADERS NAMES repository_stub.h cvsservice_stub.h cvsjob_stub.h )
|
|
if( CVSSERVICE_HEADERS )
|
|
set( ENABLE_CVSSERVICE 1 )
|
|
set( CVSSERVICE_LIBRARIES "cvsservice-static;cvsservice-shared" CACHE INTERNAL "tdesdk and embedded cvssercice libs" FORCE )
|
|
else()
|
|
tde_message_fatal( "csv service (cervisia) is required for quanta but not found on your system." )
|
|
endif()
|
|
endif()
|
|
|
|
find_program( WGET_EXECUTABLE wget )
|
|
if( NOT WGET_EXECUTABLE )
|
|
message( STATUS "wget (download utility) installation is advised since some quanta's features will make use of It." )
|
|
endif()
|
|
|
|
find_program( TIDY_EXECUTABLE NAMES tidy tidy5 )
|
|
if( NOT TIDY_EXECUTABLE )
|
|
message( STATUS "tidy (HTML/XML syntax checker) installation is advised since some quanta's features will make use of It." )
|
|
endif()
|
|
|
|
find_program( TDEFILEREPLACE_EXECUTABLE tdefilereplace )
|
|
if( NOT TDEFILEREPLACE_EXECUTABLE )
|
|
message( STATUS "tdefilereplace (Batch search and replace tool - tdeutils) installation is advised since some quanta's features will make use of It." )
|
|
endif()
|
|
|
|
find_program( KOMPARE_EXECUTABLE kompare )
|
|
if( NOT KOMPARE_EXECUTABLE )
|
|
message( STATUS "kompare (diff utility - tdesdk) installation is advised since some quanta's features will make use of It." )
|
|
endif()
|
|
endif( BUILD_QUANTA )
|
|
|
|
|
|
if( BUILD_KXSLDBG )
|
|
find_package( Threads )
|
|
|
|
tde_save( CMAKE_REQUIRED_INCLUDES )
|
|
set( CMAKE_REQUIRED_INCLUDES ${LIBXML_INCLUDE_DIRS} )
|
|
check_include_file( "libxml/DOCBparser.h" LIBXML_DOCB_ENABLED )
|
|
check_include_file( "libxml/xinclude.h" LIBXML_XINCLUDE_ENABLED )
|
|
tde_restore( CMAKE_REQUIRED_INCLUDES )
|
|
|
|
|
|
##### 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()
|
|
|
|
|
|
##### check for readline
|
|
|
|
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
|
|
|
|
tde_save_and_set( CMAKE_REQUIRED_INCLUDES ${READLINE_INCLUDE_DIRS} )
|
|
tde_save_and_set( CMAKE_REQUIRED_LIBRARIES ${READLINE_LIBRARIES} )
|
|
check_c_source_compiles("
|
|
#include <readline/readline.h>
|
|
int main(void)
|
|
{
|
|
char *result = readline(\"prompt\");
|
|
return 0;
|
|
}"
|
|
BUILD_READLINE_STANDALONE
|
|
)
|
|
if( NOT BUILD_READLINE_STANDALONE )
|
|
find_package( Curses )
|
|
if( NOT CURSES_FOUND )
|
|
tde_message_fatal( "(n)curses is required but was not found on your system" )
|
|
endif()
|
|
list( APPEND READLINE_LIBRARIES ${CURSES_LIBRARIES} )
|
|
endif()
|
|
tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
|
|
endif( BUILD_KXSLDBG )
|
|
endif( (BUILD_QUANTA) OR (BUILD_KXSLDBG) OR (BUILD_KLINKSTATUS) )
|
|
|
|
|
|
##### option other editors
|
|
|
|
if( WITH_OTHER_EDITORS )
|
|
set( ENABLE_EDITORS 1 )
|
|
endif( WITH_OTHER_EDITORS )
|
|
|
|
|
|
##### define TQTDOCDIR
|
|
|
|
if( BUILD_KOMMANDER )
|
|
if( NOT DEFINED TQTDOCDIR )
|
|
find_path( TQT_DOCDIR ntqsql.html
|
|
PATHS
|
|
${TQTDIR}/doc/html $ENV{TQTDIR}/doc/html
|
|
/opt/trinity/share/tqt3/doc/html
|
|
/usr/share/doc/packages/tqt3/html
|
|
/usr/lib/tqt3/doc
|
|
/usr/lib/tqt3/doc/html
|
|
/usr/doc/tqt3/html
|
|
/usr/doc/tqt3
|
|
/usr/share/doc/tqt3-doc
|
|
/usr/share/tqt3/doc/html
|
|
/usr/X11R6/share/doc/tqt/html
|
|
)
|
|
if( TQT_DOCDIR )
|
|
set( TQTDOCDIR "${TQT_DOCDIR}" )
|
|
endif()
|
|
endif()
|
|
endif( BUILD_KOMMANDER )
|