Important: Please read the Qt Code of Conduct -

Building open source project in Qt

  • Hello Qt forums,

    I'm attempting to build Mumble on my Windows 10 PC in Qt, and I'm running into some issues (I think I'm just a bit lost on some of the Qt, CMake, and build lingo). I've installed all of the required Qt packages through VCPKG, and I've built the program with almost no issues through the "x64 Native Tools Command Prompt for VS 2019"...

    Here is the build documentation that Mumble provides.
    I believe what's got me particularly confused is the CMake process. After getting the necessary packages installed, the Mumble instructions have you run the following cmake -G command.

    cmake -G "NMake Makefiles" "-DVCPKG_TARGET_TRIPLET=x64-windows-static-md" "-Dstatic=ON" "-DCMAKE_TOOLCHAIN_FILE=<vcpkg_root>/scripts/buildsystems/vcpkg.cmake" "-DIce_HOME=<vcpkg_root>/installed/x64-windows-static-md" "-DCMAKE_BUILD_TYPE=Release" ..

    Followed by the actual "build" command:

    cmake --build .

    From what I can tell, there's no place for me to input the cmake -G command in the "Build Settings" page. Here's where I've attempted to input it. I've been through the errors below, but I think my lack of understanding of cmake --build and cmake -G has made looking at these files unnecessary.

    If I've somehow gotten that correct (I haven't), here's the error I'm getting. It's unable to find the "Ice" directory, but I've specified it in that command.

    -- Qt5 component found: Widgets | Version: 5.15.2
    CMake Error at cmake/pkg-utils.cmake:87 (message):
      Ice component not found: Ice
    Call Stack (most recent call first):
      src/murmur/CMakeLists.txt:267 (find_pkg)
    -- Configuring incomplete, errors occurred!
    See also "C:/Users/skewb/AppData/Local/Temp/QtCreator-CfECuA/qtc-cmake-Kjqhpyja/CMakeFiles/CMakeOutput.log".
    See also "C:/Users/skewb/AppData/Local/Temp/QtCreator-CfECuA/qtc-cmake-Kjqhpyja/CMakeFiles/CMakeError.log".
    CMake process exited with exit code 1.
    Elapsed time: 00:55.

    I think I'm conflating a bunch of terms and their uses in the Mumble documentation vs. Qt including, but not limited to:

    • Build
    • Make
    • Run
    • Clean

    Any help understanding this issue would be greatly appreciated.

  • @SysLat said in Building open source project in Qt:

    Ice component not found: Ice

    Have you looked at this issue?
    From the Mumble documentation you provided:

    Important: If you want to include the Ice RPC framework support when building the server, you have to also use vcpkg to install zeroc-ice. At the moment Ice can't be built using cmake though and therefore there does not exists a native vcpkg port (install target) for it.

    Instead you'll have to copy the entire zeroc-ice directory (not only the contents!) to <vcpkg dir>/ports/ where <vcpkg dir> is the directory you installed vcpkg into. This will make our custom ice port available to be installed via vcpkg. Just install as a regular vcpkg package named zeroc-ice.

    Note: The custom port uses our own fork of Ice that includes support for cmake.

    Have you checked those requirements?

  • Hello @Pablo-J-Rogina ,

    Yes, Ice is properly installed in the VCPKG directory, which is referenced in my generator command ( I accidentally provided the command without the path properly updated in my post above):

    cmake -G "NMake Makefiles" "-DVCPKG_TARGET_TRIPLET=x64-windows-static-md" "-Dstatic=ON" "-DCMAKE_TOOLCHAIN_FILE=D:\Users\Skewb\Documents\repos\vcpkg\scripts\buildsystems\vcpkg.cmake" "-DIce_HOME=D:\Users\Skewb\Documents\repos\vcpkg\installed\x64-windows-static-md" "-DCMAKE_BUILD_TYPE=Release" ..

    Since I posted this question I've been studying CMake a bit, and I think the problem is that I can't input options into the generator (I guess?)

Log in to reply