Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • CMake CMake
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 4,107
    • Issues 4,107
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 18
    • Merge requests 18
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • CMakeCMake
  • CMakeCMake
  • Issues
  • #22192
Closed
Open
Issue created May 14, 2021 by مهدي شينون (Mehdi Chinoune)@MehdiChinouneContributor

Help: Fails to install man files generated by sphinx 4.0.x

When trying to build cmake-3.20.2 from source I encountered a problem during installation, man files couldn't be found.

It turns out that sphinx 4.0.x changes behaviour where to put generated man files. previously it puts them directly in ${CMAKE_BINARY_DIR}/Utilities/Sphinx/man/*.${number} but now it puts them in ${CMAKE_BINARY_DIR}/Utilities/Sphinx/man/${number}/*.${number}

This is a proposed patch

--- cmake-3.20.2/Utilities/Sphinx/conf.py.in.orig	2021-05-14 06:58:07.532703600 +0100
+++ cmake-3.20.2/Utilities/Sphinx/conf.py.in	2021-05-14 06:58:14.226149200 +0100
@@ -53,6 +53,7 @@
     except Exception as e:
         sys.stderr.write("ERROR: %s\n" % str(e))
 man_show_urls = False
+man_make_section_directory = False
 
 html_show_sourcelink = True
 html_static_path = ['@conf_path@/static']

To keep the old behaviour, or

--- cmake-3.20.2/Utilities/Sphinx/CMakeLists.txt.orig	2021-05-14 05:44:51.912981600 +0100
+++ cmake-3.20.2/Utilities/Sphinx/CMakeLists.txt	2021-05-14 05:45:16.414656200 +0100
@@ -186,7 +186,7 @@
       endif()
       if(NOT skip)
         CMake_OPTIONAL_COMPONENT(sphinx-man)
-        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/${name}.${sec}
+        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/man/${sec}/${name}.${sec}
                 DESTINATION ${CMAKE_MAN_DIR}/man${sec}
                 ${COMPONENT})
       endif()

To adapt to the new behavior. or both (man_make_section_directory = True + adjusting path)

Edited May 14, 2021 by Brad King
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking