1
macro_optional_add_bindings(Soprano_FOUND "Soprano" soprano)
3
if(KDEPIMLIBS_FOUND AND Akonadi_FOUND)
4
set(BUILD_Akonadi TRUE)
5
else(KDEPIMLIBS_FOUND AND Akonadi_FOUND)
6
set(BUILD_Akonadi FALSE)
7
endif(KDEPIMLIBS_FOUND AND Akonadi_FOUND)
8
macro_optional_add_bindings(BUILD_Akonadi "Akonadi" akonadi)
10
add_subdirectory(korundum)
12
add_subdirectory(khtml)
13
add_subdirectory(ktexteditor)
14
add_subdirectory(solid)
15
add_subdirectory(plasma)
17
# For nepomuk, we also must have found soprano, since soprano headers are used:
18
if(Soprano_FOUND AND Nepomuk_FOUND)
19
set(BUILD_Nepomuk TRUE)
20
else(Soprano_FOUND AND Nepomuk_FOUND)
21
set(BUILD_Nepomuk FALSE)
22
endif(Soprano_FOUND AND Nepomuk_FOUND)
23
macro_optional_add_bindings(BUILD_Nepomuk "Nepomuk" nepomuk)
25
macro_optional_add_bindings(OKULAR_FOUND "Okular" okular)
27
find_library(KATEINTERFACES_LIBRARY kateinterfaces HINTS ${KDE4_LIB_DIR})
28
find_path(KATE_INCLUDE_DIR kate/plugin.h HINTS ${KDE4_INCLUDE_DIR})
30
macro_optional_add_bindings(KATE_INCLUDE_DIR "Kate" kate)
32
#####################################################################
35
OPTION(ENABLE_KROSSRUBY "build Kross Ruby scripting library" ON)
36
#OPTION(ENABLE_KROSSRUBY "build Kross Ruby scripting library" OFF)
38
if (RUBY_EXECUTABLE AND RUBY_LIBRARY AND RUBY_INCLUDE_DIRS)
39
EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r mkmf -e "exit(have_func('rb_hash_foreach') ? 0 : 1)" RESULT_VARIABLE RUBY_HASH_FOREACH OUTPUT_QUIET)
40
if (RUBY_HASH_FOREACH EQUAL 0)
42
set(CMAKE_REQUIRED_INCLUDES ${RUBY_INCLUDE_DIRS})
43
set(CMAKE_REQUIRED_LIBRARIES ${RUBY_LIBRARY})
44
CHECK_CXX_SOURCE_COMPILES("
46
int main() { ruby_init(); return 0; }" RubyCompiles)
48
if(ENABLE_KROSSRUBY AND RUBY_VERSION_MAJOR EQUAL 1 AND RUBY_VERSION_MINOR LESS 9)
49
set(BUILD_KrossRuby TRUE)
50
endif(ENABLE_KROSSRUBY AND RUBY_VERSION_MAJOR EQUAL 1 AND RUBY_VERSION_MINOR LESS 9)
52
message(STATUS "Failed to compile a C++ program that embeds ruby.")
55
else (RUBY_HASH_FOREACH EQUAL 0)
57
# 2007-02-12 sebsauer; this is a workaround for the case we failed to load
58
# the "mkmf" library what is the case e.g. on some debian distributions.
59
#EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r mkmf -e "exit(0)" RESULT_VARIABLE RUBY_HASH_FOREACH OUTPUT_QUIET ERROR_QUIET)
60
#if (${RUBY_HASH_FOREACH} EQUAL 0)
61
message(STATUS "The detected Ruby is too old for kross. A Ruby which has rb_hash_foreach is required. Upgrade to 1.8.2 or later")
62
#else (${RUBY_HASH_FOREACH} EQUAL 0)
63
# message(STATUS "Failed to load the Ruby mkmf library. Please install the Ruby developer packages.")
64
#endif (${RUBY_HASH_FOREACH} EQUAL 0)
66
endif (RUBY_HASH_FOREACH EQUAL 0)
67
endif (RUBY_EXECUTABLE AND RUBY_LIBRARY AND RUBY_INCLUDE_DIRS)
68
message(STATUS "Ruby Executable: " ${RUBY_EXECUTABLE})
69
message(STATUS "Ruby Libraries: " ${RUBY_LIBRARY})
70
message(STATUS "Ruby Include Directories: " ${RUBY_INCLUDE_DIRS})
72
macro_optional_add_bindings(BUILD_KrossRuby "KrossRuby" krossruby)