############################################################################### # 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()