File: systemd.cmake

package info (click to toggle)
tarantool 2.6.0-1.4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 85,412 kB
  • sloc: ansic: 513,775; cpp: 69,493; sh: 25,650; python: 19,190; perl: 14,973; makefile: 4,178; yacc: 1,329; sql: 1,074; pascal: 620; ruby: 190; awk: 18; lisp: 7
file content (73 lines) | stat: -rw-r--r-- 2,738 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Disable systemd and sysvinit by default if target is not Linux
if (NOT DEFINED WITH_SYSTEMD AND NOT TARGET_OS_LINUX)
    set(WITH_SYSTEMD OFF)
endif()
if (NOT DEFINED WITH_SYSVINIT AND NOT TARGET_OS_LINUX)
    set(WITH_SYSVINIT OFF)
endif()

# try to find systemd if it wasn't implicitly disabled
if (NOT DEFINED WITH_SYSTEMD OR WITH_SYSTEMD)
    find_package(PkgConfig QUIET)
    if (PKG_CONFIG_FOUND)
        pkg_check_modules(SYSTEMD "systemd")
    endif()
endif()

if (NOT SYSTEMD_FOUND AND NOT WITH_SYSTEMD)
    set(WITH_SYSTEMD "OFF")
    # Fallback to sysvinit if it wasn't implicitly enabled
    if (NOT DEFINED WITH_SYSVINIT)
        set(WITH_SYSVINIT ON)
    endif()
endif()

if (WITH_SYSTEMD)
    if ("${SYSTEMD_UNIT_DIR}" STREQUAL "")
        if (SYSTEMD_FOUND)
            execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE}
                --variable=systemdsystemunitdir systemd
                OUTPUT_VARIABLE SYSTEMD_UNIT_DIR)
            string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_UNIT_DIR
                "${SYSTEMD_UNIT_DIR}")
        elseif(NOT CMAKE_CROSSCOMPILING AND EXISTS "/etc/debian_version")
            # Debian and Ubuntu
            set(SYSTEMD_UNIT_DIR "/lib/systemd/system")
        else()
            # RHEL, Fedora and other
            set(SYSTEMD_TMPFILES_DIR "/usr/lib/systemd/system")
        endif()
    endif()

    if ("${SYSTEMD_GENERATOR_DIR}" STREQUAL "")
        if (SYSTEMD_FOUND)
            execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE}
                --variable=systemdsystemgeneratordir systemd
                OUTPUT_VARIABLE SYSTEMD_GENERATOR_DIR)
            string(REGEX REPLACE "[ \t\n]+" "" SYSTEMD_GENERATOR_DIR
                "${SYSTEMD_GENERATOR_DIR}")
        elseif(NOT CMAKE_CROSSCOMPILING AND EXISTS "/etc/debian_version")
            # Debian and Ubuntu
            set(SYSTEMD_GENERATOR_DIR "/lib/systemd/system-generators")
        else()
            # RHEL, Fedora and other
            set(SYSTEMD_GENERATOR_DIR "/usr/lib/systemd/system-generators")
        endif()
    endif()

    if ("${SYSTEMD_TMPFILES_DIR}" STREQUAL "")
        set(SYSTEMD_TMPFILES_DIR "/usr/lib/tmpfiles.d")
    endif()

    set(WITH_SYSTEMD "ON")
    message(STATUS "SYSTEMD_UNIT_DIR: ${SYSTEMD_UNIT_DIR}")
    message(STATUS "SYSTEMD_GENERATOR_DIR: ${SYSTEMD_GENERATOR_DIR}")
    message(STATUS "SYSTEMD_TMPFILES_DIR: ${SYSTEMD_TMPFILES_DIR}")
    # Disable sysvinit if it wasn't implicitly requested
    if (NOT DEFINED WITH_SYSVINIT)
        set(WITH_SYSVINIT "OFF")
    endif()
endif()
file(APPEND "${_OptionalPackagesFile}" "\n")
file(APPEND "${_OptionalPackagesFile}" "-- WITH_SYSTEMD=${WITH_SYSTEMD}\n")
file(APPEND "${_OptionalPackagesFile}" "-- WITH_SYSVINIT=${WITH_SYSVINIT}\n")