You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
6.0 KiB
CMake
119 lines
6.0 KiB
CMake
###############################################################################
|
|
# 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() |