CMakeLists.txt 2.22 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
function(add_backend name)

    kcoreaddons_add_plugin("cantor_${name}"
        SOURCES ${ARGN}
        JSON "${name}.json"
        INSTALL_NAMESPACE "cantor/backends")

    target_link_libraries("cantor_${name}"
        cantorlibs)

endfunction()

13
add_subdirectory(maxima)
14
add_subdirectory(octave)
15
add_subdirectory(scilab)
16

17 18 19 20
if(NOT WIN32)
    add_subdirectory(sage)
endif(NOT WIN32)

21
set_package_properties(Analitza5 PROPERTIES DESCRIPTION "A library provided by KAlgebra."
22
    URL "https://edu.kde.org/kalgebra/"
23 24 25
    TYPE OPTIONAL
    PURPOSE "Backend to use KAlgebra with Cantor.")

26
find_package(Analitza5)
27
if(Analitza5_FOUND)
28
    add_subdirectory(kalgebra)
29
endif(Analitza5_FOUND)
30

31 32 33 34 35 36 37 38 39 40 41
if(NOT WIN32)
    set_package_properties(R PROPERTIES DESCRIPTION "A free software environment for statistical computing and graphics."
        URL "https://www.r-project.org/"
        TYPE OPTIONAL
        PURPOSE "Backend to use R with Cantor.")

    find_package(R)
    if(R_FOUND)
        add_subdirectory(R)
    endif(R_FOUND)
endif(NOT WIN32)
42

43
set_package_properties(Qalculate PROPERTIES DESCRIPTION "A multi-purpose desktop calculator with support for customizable functions, units and arbitrary precision."
44
    URL "https://qalculate.github.io/"
45 46
    TYPE OPTIONAL
    PURPOSE "Backend to use Qalculate with Cantor.")
Filipe Saraiva's avatar
Filipe Saraiva committed
47

48
find_package(Qalculate)
49 50 51
if(QALCULATE_FOUND)
    add_subdirectory(qalculate)
endif(QALCULATE_FOUND)
52

53
set_package_properties(Python3 PROPERTIES TYPE OPTIONAL
54
    PURPOSE "Backend to use Python with Cantor.")
Minh Ngo's avatar
Minh Ngo committed
55

56 57
find_package(Python3 COMPONENTS Interpreter Development)
if(Python3_FOUND)
58
    add_subdirectory(python)
59
endif()
Minh Ngo's avatar
Minh Ngo committed
60

Filipe Saraiva's avatar
Filipe Saraiva committed
61
set_package_properties(LuaJIT PROPERTIES DESCRIPTION "A lightweight, extensible programming language (luajit implementation)."
62
    URL "https://www.lua.org/"
Filipe Saraiva's avatar
Filipe Saraiva committed
63 64 65
    TYPE OPTIONAL
    PURPOSE "Backend to use Lua (luajit2) with Cantor.")

66
find_package(LuaJIT)
Filipe Saraiva's avatar
Filipe Saraiva committed
67 68 69
if(LUAJIT_FOUND)
    add_subdirectory(lua)
endif(LUAJIT_FOUND)
70 71 72

set_package_properties(
    Julia
73
    PROPERTIES DESCRIPTION "A high-level, high-performance dynamic programming language for technical computing"
74
    URL "https://julialang.org/"
75 76 77 78 79 80 81
    TYPE OPTIONAL
    PURPOSE "Backend to use Julia with Cantor.")

find_package(Julia)
if(Julia_FOUND)
    add_subdirectory(julia)
endif()