~kubuntu-members/korundum/4.11

« back to all changes in this revision

Viewing changes to korundum/modules/CMakeLists.txt

  • Committer: Ian Monroe
  • Date: 2010-11-21 15:55:01 UTC
  • Revision ID: git-v1:c37670e4e3c59f5eb2ba112f5341a5e706217f6f
Split up Smoke into Qt and KDE directories. 
Move libsmoke stuff into the generator directory
Split up Ruby into qtruby and korundum directories

svn path=/trunk/KDE/kdebindings/ruby/; revision=1199320

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
macro_optional_add_bindings(Soprano_FOUND "Soprano" soprano)
 
2
 
 
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)
 
9
 
 
10
add_subdirectory(korundum)
 
11
add_subdirectory(kio)
 
12
add_subdirectory(khtml)
 
13
add_subdirectory(ktexteditor)
 
14
add_subdirectory(solid)
 
15
add_subdirectory(plasma)
 
16
 
 
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)
 
24
 
 
25
macro_optional_add_bindings(OKULAR_FOUND "Okular" okular)
 
26
 
 
27
find_library(KATEINTERFACES_LIBRARY kateinterfaces HINTS ${KDE4_LIB_DIR})
 
28
find_path(KATE_INCLUDE_DIR kate/plugin.h HINTS ${KDE4_INCLUDE_DIR})
 
29
 
 
30
macro_optional_add_bindings(KATE_INCLUDE_DIR "Kate" kate)
 
31
 
 
32
#####################################################################
 
33
# Kross Ruby
 
34
 
 
35
OPTION(ENABLE_KROSSRUBY "build Kross Ruby scripting library" ON)
 
36
#OPTION(ENABLE_KROSSRUBY "build Kross Ruby scripting library" OFF)
 
37
 
 
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)
 
41
 
 
42
        set(CMAKE_REQUIRED_INCLUDES ${RUBY_INCLUDE_DIRS})
 
43
        set(CMAKE_REQUIRED_LIBRARIES ${RUBY_LIBRARY})
 
44
        CHECK_CXX_SOURCE_COMPILES("
 
45
            #include <ruby.h>
 
46
            int main() { ruby_init(); return 0; }" RubyCompiles)
 
47
        if(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)
 
51
        else(RubyCompiles)
 
52
            message(STATUS "Failed to compile a C++ program that embeds ruby.")
 
53
        endif(RubyCompiles)
 
54
 
 
55
    else (RUBY_HASH_FOREACH EQUAL 0)
 
56
 
 
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)
 
65
 
 
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})
 
71
 
 
72
macro_optional_add_bindings(BUILD_KrossRuby "KrossRuby" krossruby)