File: CMakeLists.txt

package info (click to toggle)
lizardfs 3.12.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 8,064 kB
  • sloc: cpp: 91,899; sh: 9,341; python: 3,878; ansic: 3,109; pascal: 128; makefile: 57
file content (78 lines) | stat: -rw-r--r-- 2,496 bytes parent folder | download
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
74
75
76
77
78
if(NOT A2X_BINARY)
  message(WARNING "Program 'a2x' not found, manpages won't be generated")
  return()
endif()

# These manpages should be generated
set(MANPAGES
    lizardfs.7          # not a source
    lizardfs-admin.8
    lizardfs-cgiserver.8
    lizardfs-probe.8    # not a source
    lizardfs-appendchunks.1
    lizardfs-checkfile.1
    lizardfs-dirinfo.1
    lizardfs-fileinfo.1
    lizardfs-filerepair.1
    lizardfs-geteattr.1
    lizardfs-seteattr.1       # not a source
    lizardfs-deleattr.1       # not a source
    lizardfs-getgoal.1
    lizardfs-setgoal.1        # not a source
    lizardfs-rgetgoal.1       # not a source
    lizardfs-rsetgoal.1       # not a source
    lizardfs-gettrashtime.1
    lizardfs-settrashtime.1   # not a source
    lizardfs-rgettrashtime.1  # not a source
    lizardfs-rsettrashtime.1  # not a source
    lizardfs-makesnapshot.1
    lizardfs-rremove.1
    mfsmount.1
    lizardfs-repquota.1
    lizardfs-setquota.1       # not a source
    lizardfs.1
    globaliolimits.cfg.5
    iolimits.cfg.5
    mfschunkserver.cfg.5
    mfsexports.cfg.5
    mfsgoals.cfg.5
    mfshdd.cfg.5
    mfsmaster.cfg.5
    mfsmetalogger.cfg.5
    mfsmount.cfg.5
    mfstopology.cfg.5
    mfsmetadump.8
    mfsrestoremaster.8
    moosefs.7
    mfs.7               # not a source
    mfscgiserv.8
    mfschunkserver.8
    mfsmaster.8
    mfsmetalogger.8
    mfsmetarestore.8
)

set(INSTALLED_MANPAGES)
foreach(MANPAGE ${MANPAGES})
  get_filename_component(MANPAGE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/${MANPAGE}.txt ABSOLUTE)
  string(REGEX MATCH "[0-9]$" SECTION_NUMBER ${MANPAGE})
  set(GENERATED_MANPAGE_PATH ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
  if(ENABLE_VERBOSE_ASCIIDOC)
    set(ASCIIDOC_VERBOSE --verbose --keep-artifacts)
  else()
    set(ASCIIDOC_VERBOSE)
  endif()
  if(EXISTS ${MANPAGE_SRC})
    # Generate from the source...
    set(MANPAGE_SRC_SYMLINK ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE}.txt)
    add_custom_command(OUTPUT ${GENERATED_MANPAGE_PATH}
        COMMAND ln -s -f ${MANPAGE_SRC} ${MANPAGE_SRC_SYMLINK}
        COMMAND a2x ${ASCIIDOC_VERBOSE} -L -f manpage ${MANPAGE_SRC_SYMLINK}
        DEPENDS ${MANPAGE_SRC})
    # Add this file to the main target's dependencies
    set(GENERATED_MANPAGES ${GENERATED_MANPAGES} ${GENERATED_MANPAGE_PATH})
  endif()
  # Install the generated file
  install(FILES ${GENERATED_MANPAGE_PATH} DESTINATION ${MAN_SUBDIR}/man${SECTION_NUMBER})
endforeach()
add_custom_target(manpages ALL SOURCES ${GENERATED_MANPAGES})