Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-124007

QtPdf: build verbosely if CMAKE_VERBOSE_MAKEFILE=ON

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.6.3
    • Build System: CMake, PDF
    • None

    Description

      I suggest these patches to enable verbose build (ie. print the commands) if configuring with -DCMAKE_VERBOSE_MAKEFILE=ON

      First patch will enable verbosity on QtPdf
       

      --- a/qtwebengine/cmake/Gn.cmake
      +++ b/qtwebengine/cmake/Gn.cmake
      @@ -56,6 +56,11 @@
          list(APPEND gnArg --threads=${GN_THREADS})
       endif()
       
      +if(CMAKE_VERBOSE_MAKEFILE)
      +    # Enable verbose output of ninja
      +    list(APPEND gnArg --ninja-extra-args=-v)
      +endif()
      +
       STRING(REGEX REPLACE "\n" ";" printArgArg "${gnArgArg}")
       LIST(SORT printArgArg)
       STRING(REGEX REPLACE ";" "\n" printArgArg "${printArgArg}")
      --- a/qtwebengine/cmake/Functions.cmake
      +++ b/qtwebengine/cmake/Functions.cmake
      @@ -1090,6 +1090,9 @@
           _qt_internal_validate_all_args_are_parsed(arg)
       
           string(REPLACE " " ";" NINJAFLAGS "$ENV{NINJAFLAGS}")
      +    if(CMAKE_VERBOSE_MAKEFILE)
      +        list(APPEND NINJAFLAGS -v)
      +    endif()
           list(TRANSFORM arg_OUTPUT PREPEND "${arg_BUILDDIR}/")
           list(TRANSFORM arg_BYPRODUCTS PREPEND "${arg_BUILDDIR}/")
           add_custom_command(
      @@ -1222,6 +1225,10 @@
             set(QT_HOST_GN_PATH ${QT_HOST_PATH}/${INSTALL_LIBEXECDIR})
           endif()
       
      +    if(CMAKE_VERBOSE_MAKEFILE)
      +        list(APPEND ADDITIONAL_CMAKE_COMMAND_ARGS -DCMAKE_VERBOSE_MAKEFILE=ON)
      +    endif()
      +
           add_custom_command(
               OUTPUT ${output}
               COMMAND ${CMAKE_COMMAND}
      @@ -1232,6 +1239,7 @@
                    -DPython3_EXECUTABLE=${Python3_EXECUTABLE}
                    -DGN_THREADS=$ENV{QTWEBENGINE_GN_THREADS}
                    -DQT_ALLOW_SYMLINK_IN_PATHS=${QT_ALLOW_SYMLINK_IN_PATHS}
      +             ${ADDITIONAL_CMAKE_COMMAND_ARGS}
                    -P ${WEBENGINE_ROOT_SOURCE_DIR}/cmake/Gn.cmake
               WORKING_DIRECTORY ${WEBENGINE_ROOT_BUILD_DIR}
               COMMENT "Run gn for target ${arg_CMAKE_TARGET} in ${arg_BUILDDIR}"
      

      Second patch will enable verbosity when building Gn

      --- a/qtwebengine/src/gn/CMakeLists.txt
      +++ b/qtwebengine/src/gn/CMakeLists.txt
      @@ -55,6 +55,10 @@
           message(FATAL_ERROR "Unsupported gn platform !")
       endif()
       
      +if(CMAKE_VERBOSE_MAKEFILE)
      +    list(APPEND ninjaArgs -v)
      +endif()
      +
       add_custom_command(
           OUTPUT ${GN_EXECUTABLE}
           WORKING_DIRECTORY ${GN_BINARY_DIR}
      @@ -69,7 +73,7 @@
               --qt-version "${QT_REPO_MODULE_VERSION}.qtwebengine.qt.io"
               $<$<PLATFORM_ID:Darwin>:--isysroot>
               $<$<PLATFORM_ID:Darwin>:${CMAKE_OSX_SYSROOT}>
      -    COMMAND Ninja::ninja -C ${GN_BINARY_DIR}/$<CONFIG> ${GN_EXECUTABLE}
      +    COMMAND Ninja::ninja ${ninjaArgs} -C ${GN_BINARY_DIR}/$<CONFIG> ${GN_EXECUTABLE}
           VERBATIM
           USES_TERMINAL
           COMMAND_EXPAND_LISTS
      

      This 3rd patch passes the CMAKE_VERBOSE_MAKEFILE given at configure time for use in patch 2

      --- a/qtwebengine/src/CMakeLists.txt
      +++ b/qtwebengine/src/CMakeLists.txt
      @@ -115,6 +115,7 @@
               CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release
                          -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
                          -DCMAKE_PREFIX_PATH:PATH=<INSTALL_DIR>
      +                   -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE}
           )
           if(QT_FEATURE_qtwebengine_core_build)
               add_dependencies(run_core_NinjaReady ninja)
      @@ -145,6 +146,7 @@
                          -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
                          -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
                          -DCMAKE_PREFIX_PATH:PATH=<INSTALL_DIR>
      +                   -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE}
                          -DWEBENGINE_ROOT_BUILD_DIR=${PROJECT_BINARY_DIR}
                          -DQT_ALLOW_SYMLINK_IN_PATHS=${QT_ALLOW_SYMLINK_IN_PATHS}
           )
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qtbuildsystem Qt Build System Team
            ban F S
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes