Working with Qt Creator

Settings (MSYS2)

Setup CMake-Kit

  1. Add CMake under Tools -> Options -> Kits -> CMake

    ../../_images/qtcreator_settings_cmake.png
  2. Add C and C++ Compilers under Tools -> Options -> Kits -> Compilers

    ../../_images/qtcreator_settings_g++.png
    ../../_images/qtcreator_settings_gcc.png
  3. Add Debugger under Tools -> Options -> Kits -> Debuggers

    ../../_images/qtcreator_settings_gdb.png
  4. Add Kit under Tools -> Options -> Kits -> Kits

    ../../_images/qtcreator_settings_kit.png
  5. Adjust CMake Generator under Tools -> Options -> Kits -> Kits to MSYS Makefiles

    ../../_images/qtcreator_settings_cmake_generator.png

    When loading a CMakeLists.txt doesn’t result in listing all relevant files, a change of the CMake Generator to MinGW Makefiles with a matching Extra generator is recommended. This has to be noted while executing the Prepare build step in Installing OpenPASS.

    Note

    Change the environment variable to MAKEFLAGS=-j4 (or similar) to enable parallel building on the kit level.

Setup Project

  1. Load the project by opening a CMakeLists.txt file and configure it to use the new kit.

  2. Setup missing CMake flags (c.f. CMake Variables and Options). For building the documentation and also running the end-to-end tests the variable Python3_EXECUTABLE needs to be set to a native Windows Python environment, which has to include all required libraries, because the Python environment used in MSYS2 will not work here.

    Todo

    The configuration is still “itchy”, as Qt creator changes the interface with every version See https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/issues/149

Settings (Linux)

Setup Kit

Qt Creator should be able to come up with a suiteable kit for developing openPASS on its own. If not, check if all Installing Prerequisites are met. Also, the steps above should be a good indicator, where to look for potential troubles.

Setup Project

  1. Load the project by opening a CMakeLists.txt file and configure it to use a proper kit.

  2. Setup missing CMake flags (c.f. CMake Variables and Options)

    Todo

    The configuration is still “itchy”, as Qt creator changes the interface with every version See https://gitlab.eclipse.org/eclipse/openpass/opSimulation/-/issues/149

Alternative Method

Version Issues

Qt Creator is constantly improving the CMake integration. Unfortunatly, some versions seem to be buggy.

Tested Versions: 4.13.2 | 4.12.2

  1. Follow the install instructions to invoke cmake from within your own build directory. - Execute the step for build-release - Execute the step for build-debug

  2. Open Qt Creator

  3. Open CMakeLists.txt

  4. Qt Creator should find the configured build directories and create a temporary kit. It is recommended to use the the Kit prepared under the step Setup CMake-Kit and change therefore the paths for the Release resp. Debug build from the Prepare build step in Installing OpenPASS.

    ../../_images/qtcreator_project_cmake.png
    ../../_images/qtcreator_project_loaded.png
    ../../_images/qtcreator_project_cmake_settings.png

    It is possible to add an additional build step which also includes the end-to-end tests. Therefore the CMake variable WITH_ENDTOEND_TESTS needs to be set.

    ../../_images/qtcreator_adding_build_steps.png
  5. After the build, the link to the opSimulation.exe resp. the opSimulationManager.exe within the Run Settings is possible. When using Debug as the build-type, the Qt-creator should be able to run the simulation with debugging.

    ../../_images/qtcreator_adding_run_configuration.png