blob: 5949ee22042123d197ddf36c5925195166046bfd (
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
|
###############################################################################
# Trinity KOffice #
# --------------- #
# This file is licensed under the terms of GNU GPL v3 or later. #
# Improvements and feedback are welcome. #
###############################################################################
### Python ####################################################################
if (WITH_KROSS_PYTHON)
# find_package(Python3 COMPONENTS Interpreter Development)
# if (NOT Python3_FOUND)
# message(WARNING "Python developement files were not found, Python scripting support for "
# "KOffice will not be built. If you don't need Python scripting, you "
# "can ignore this message.")
message(WARNING "The Python bindings of Kross don't support Python3."
"Python scripting support for KOffice will not be built. If you don't "
"need Python scripting, you can ignore this message.")
set(WITH_KROSS_PYTHON OFF)
# endif()
endif()
if (WITH_KROSS_RUBY)
find_program(RUBY ruby)
if (NOT RUBY)
message(WARNING "The Ruby executable was not found. "
"Ruby scripting support for KOffice will not be built. If you don't "
"need Ruby scripting, you can ignore this message.")
set(WITH_KROSS_RUBY OFF)
else()
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(MAJOR))"
OUTPUT_VARIABLE RUBY_MAJOR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(MINOR))"
OUTPUT_VARIABLE RUBY_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(archdir))"
OUTPUT_VARIABLE RUBY_ARCHDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitearchdir))"
OUTPUT_VARIABLE RUBY_SITEARCHDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitedir))"
OUTPUT_VARIABLE RUBY_SITEDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(libdir))"
OUTPUT_VARIABLE RUBY_LIBDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(sitelibdir))"
OUTPUT_VARIABLE RUBY_SITELIBDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubylibdir))"
OUTPUT_VARIABLE RUBY_RUBYLIBDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(LIBRUBYARG_SHARED))"
OUTPUT_VARIABLE RUBY_LIBRUBYARG OUTPUT_STRIP_TRAILING_WHITESPACE)
###
if (RUBY_LIBRUBYARG)
set(RUBY_ENABLESHARED ON)
else()
set(RUBY_ENABLESHARED OFF)
endif()
###
set(RUBY_SERIES "${RUBY_MAJOR}.${RUBY_MINOR}")
set(RUBY_VERSION_DEFS "")
if (RUBY_SERIES VERSION_GREATER_EQUAL "1.9")
set(HAVE_RUBY_1_9 1)
set(RUBY_VERSION_DEFS "${RUBY_VERSION_DEFS} -DHAVE_RUBY_1_9")
endif()
if (RUBY_SERIES VERSION_GREATER_EQUAL "3.0")
set(HAVE_RUBY_3 1)
set(RUBY_VERSION_DEFS "${RUBY_VERSION_DEFS} -DHAVE_RUBY_3")
endif()
###
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.key?(%q(rubyhdrdir))"
OUTPUT_VARIABLE RUBY_HAS_INCLUDEDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
if (RUBY_HAS_INCLUDEDIR STREQUAL "true")
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubyhdrdir))"
OUTPUT_VARIABLE RUBY_INCLUDEDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.key?(%q(rubyarchhdrdir))"
OUTPUT_VARIABLE RUBY_HAS_ARCHINCLUDEDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
if (RUBY_HAS_ARCHINCLUDEDIR STREQUAL "true")
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(rubyarchhdrdir))"
OUTPUT_VARIABLE RUBY_ARCHINCLUDEDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(arch))"
OUTPUT_VARIABLE RUBY_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
set(RUBY_ARCHINCLUDEDIR "${RUBY_INCLUDEDIR}/${RUBY_ARCH}")
endif()
set(RUBY_CFLAGS "-I${RUBY_INCLUDEDIR} -I${RUBY_ARCHINCLUDEDIR}")
else()
execute_process(COMMAND ${RUBY} -r rbconfig -e "puts RbConfig::CONFIG.fetch(%q(archdir))"
OUTPUT_VARIABLE RUBY_INCLUDEDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
set(RUBY_CFLAGS "-I${RUBY_INCLUDEDIR}")
message("set RUBY_CFLAGS 2 ${RUBY_CFLAGS}")
endif()
endif()
###
if (NOT EXISTS "${RUBY_INCLUDEDIR}/ruby/config.h" AND
NOT EXISTS "${RUBY_ARCHINCLUDEDIR}/ruby/config.h")
message(WARNING "Ruby development files were not found, or Ruby <= 1.8.1 was found, "
"Ruby scripting support for KOffice will not be built. If you don't "
"need Ruby scripting, you can ignore this message.")
set(WITH_KROSS_RUBY OFF)
else()
message(STATUS "Ruby executable: ${RUBY}")
message(STATUS "Ruby archdir: ${RUBY_ARCHDIR}")
message(STATUS "Ruby sitearchdir: ${RUBY_SITEARCHDIR}")
message(STATUS "Ruby sitedir: ${RUBY_SITEDIR}")
message(STATUS "Ruby sitelibdir: ${RUBY_SITELIBDIR}")
message(STATUS "Ruby libdir: ${RUBY_LIBDIR}")
message(STATUS "Ruby includedir: ${RUBY_INCLUDEDIR}")
message(STATUS "Ruby librubyarg: ${RUBY_LIBRUBYARG}")
message(STATUS "Ruby cflags: ${RUBY_CFLAGS}")
endif()
endif()
|