blob: 7e7bdea4c169bd085de22b61241fed892e3f180e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
#################################################
#
# (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_compiler_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 )
##### 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 )
##### 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
OUTPUT_STRIP_TRAILING_WHITESPACE
)
##### check for libxml-2.0
pkg_search_module( LIBXML libxml-2.0>=2.6 )
if( NOT LIBXML_FOUND )
tde_message_fatal( "libxml-2.0 version >= 2.6 is required but was not found on your system" )
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 )
##### check for Threads
find_package( Threads )
tde_save( CMAKE_REQUIRED_INCLUDES )
set( CMAKE_REQUIRED_INCLUDES ${LIBXML_INCLUDE_DIRS} )
set( LIBXML_DOCB_ENABLED 1 CACHE BOOL "Enable docbook input files" )
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 )
|