Skip to content

Commit 6366558

Browse files
committed
More work CMakeLists.txt
1 parent ea0cf83 commit 6366558

File tree

1 file changed

+45
-3
lines changed

1 file changed

+45
-3
lines changed

CMakeLists.txt

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.12)
33
# SPDX-FileCopyrightText: 2022 Boyuan Yang <073plan@gmail.com>
44
# SPDX-License-Identifier: CC0-1.0 OR BSD-2-Clause
55

6-
include(CMakePrintHelpers)
76
include(GNUInstallDirs)
87
project(manpages-zh VERSION 1.6.4.0 HOMEPAGE_URL "https://github.com/man-pages-zh/manpages-zh")
98

@@ -32,12 +31,16 @@ endif ()
3231

3332

3433
## Actual handling of man pages
34+
add_custom_target(man ALL)
35+
3536
set(MANDIR_LIST "man1" "man2" "man3" "man4" "man5" "man6" "man7" "man8" "mann")
3637

3738
foreach (MANDIR ${MANDIR_LIST})
3839
file(GLOB CURRENT_MAN_PAGES "src/${MANDIR}/*.*")
3940
foreach (CURRENT_MAN_PAGE ${CURRENT_MAN_PAGES})
4041
get_filename_component(MAN_PAGE_NAME ${CURRENT_MAN_PAGE} NAME)
42+
string(REGEX REPLACE "(.*)\\." "" MAN_PAGE_SECTION_RAW ${MAN_PAGE_NAME})
43+
string(SUBSTRING ${MAN_PAGE_SECTION_RAW} 0 1 MAN_PAGE_SECTION)
4144
if (${MAN_PAGE_NAME} STREQUAL "Makefile.am")
4245
continue()
4346
endif ()
@@ -47,7 +50,46 @@ foreach (MANDIR ${MANDIR_LIST})
4750
continue()
4851
endif ()
4952
endif (FILTER_EXCLUDED_MANPAGES)
50-
# TODO: Process and install this man page
51-
# cmake_print_variables(MAN_PAGE_NAME)
53+
54+
set(MAN_PAGE_PREPAREDIR_ZHCN "${PROJECT_BINARY_DIR}/zh_CN/man${MAN_PAGE_SECTION}/")
55+
set(MAN_PAGE_PREPAREDIR_ZHTW "${PROJECT_BINARY_DIR}/zh_TW/man${MAN_PAGE_SECTION}/")
56+
if (ENABLE_APPEND_COLOPHON)
57+
set(APPEND_COLOPHON_COMMAND "${CMAKE_SOURCE_DIR}/utils/append-colophon")
58+
else ()
59+
set(APPEND_COLOPHON_COMMAND "tee")
60+
endif ()
61+
set(PROCESS_OUTPUT_ZHCN ${MAN_PAGE_PREPAREDIR_ZHCN}/${MAN_PAGE_NAME})
62+
set(PROCESS_OUTPUT_ZHTW ${MAN_PAGE_PREPAREDIR_ZHTW}/${MAN_PAGE_NAME})
63+
set(PROCESS_COMMAND_ZHCN
64+
"bash" "-c" "'cat ${CURRENT_MAN_PAGE} | ${APPEND_COLOPHON_COMMAND} | opencc -c t2s.json > ${PROCESS_OUTPUT_ZHCN}'")
65+
set(PROCESS_COMMAND_ZHTW
66+
"bash" "-c" "'cat ${CURRENT_MAN_PAGE} | ${APPEND_COLOPHON_COMMAND} | opencc -c s2twp.json > ${PROCESS_OUTPUT_ZHTW}'")
67+
68+
if (ENABLE_ZHCN)
69+
add_custom_target(man_zhcn_${MAN_PAGE_NAME}_dir
70+
COMMAND ${CMAKE_COMMAND} -E make_directory
71+
${MAN_PAGE_PREPAREDIR_ZHCN})
72+
add_custom_target(man_zhcn_${MAN_PAGE_NAME}_build VERBATIM
73+
COMMAND ${PROCESS_COMMAND_ZHCN})
74+
add_dependencies(man man_zhcn_${MAN_PAGE_NAME}_build)
75+
add_dependencies(man_zhcn_${MAN_PAGE_NAME}_build man_zhcn_${MAN_PAGE_NAME}_dir)
76+
endif (ENABLE_ZHCN)
77+
if (ENABLE_ZHTW)
78+
add_custom_target(man_zhtw_${MAN_PAGE_NAME}_dir
79+
COMMAND ${CMAKE_COMMAND} -E make_directory
80+
${MAN_PAGE_PREPAREDIR_ZHTW})
81+
add_custom_target(man_zhtw_${MAN_PAGE_NAME}_build VERBATIM
82+
COMMAND ${PROCESS_COMMAND_ZHTW})
83+
add_dependencies(man man_zhtw_${MAN_PAGE_NAME}_build)
84+
add_dependencies(man_zhtw_${MAN_PAGE_NAME}_build man_zhtw_${MAN_PAGE_NAME}_dir)
85+
endif (ENABLE_ZHTW)
86+
5287
endforeach ()
5388
endforeach ()
89+
90+
if (ENABLE_ZHCN)
91+
install(FILES ${MAN_PAGE_PREPAREDIR_ZHCN} DESTINATION "${CMAKE_INSTALL_MANDIR}/")
92+
endif()
93+
if (ENABLE_ZHTW)
94+
install(FILES ${MAN_PAGE_PREPAREDIR_ZHTW} DESTINATION "${CMAKE_INSTALL_MANDIR}/")
95+
endif()

0 commit comments

Comments
 (0)