dlr-gtlab / gtlab-core

GTlab Core Framework
https://www.gtlab.de
Other
7 stars 2 forks source link

Cmake support - [merged] #1032

Closed rainman110 closed 10 months ago

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 13:29

_Merges cmakesupport -> master

This switches the build system from QMake to CMake.

Description

This MR also includes:

Closes #537

How Has This Been Tested?

Checklist:

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 13:30

marked this merge request as draft

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 13:56

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 14:01

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 14:09

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 14:43

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 14:52

added 9 commits

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 14:56

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 15:02

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 15:17

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 15:26

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 16:14

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 8, 2023, 17:40

@mariusalexander There is one gui test failing, as it cannot read some "template". What are the requirements to run the GUI tests? I suppose, I run the tests from the wrong directory or a file is missing or similar, since the build folder structure has changed with cmake.

rainman110 commented 1 year ago

In GitLab by @mariusalexander on May 9, 2023, 07:29

@rainman110

from gt_projectprovider.cpp

grafik

I assue the resource files are not included properly

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 07:53

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 07:55

Thanks. Indeed, the AUTORCC property of GtlabCore was missing, so the resource was not included into the library. This should be fixed with the latest commit. I also added a unit test for it.

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 08:07

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 08:37

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 08:54

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:04

marked the checklist item A test for the new functionality was added (if applicable). as completed

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:04

marked the checklist item All tests run without failure. as completed

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:12

added 4 commits

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:22

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:26

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:27

marked the checklist item The changelog has been extended, if this MR contains important changes from the users's point of view. as completed

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:27

marked the checklist item The new code complies with the GTlab's style guide. as completed

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:27

marked the checklist item The number of code quality warnings is not increasing. as completed

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 09:51

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 10:56

marked this merge request as ready

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 10:57

requested review from @real-ct-ac

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 9, 2023, 10:57

requested review from @mariusalexander

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 10, 2023, 15:30

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 10, 2023, 16:02

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 10, 2023, 16:03

marked the checklist item New interface methods / functions are exported via EXPORT. Non-interface functions are NOT exported. as completed

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 10, 2023, 16:06

added 14 commits

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @mariusalexander on May 11, 2023, 11:20

What happened to the build and test jobs?

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 11, 2023, 13:01

What you you mean? They are all there, aren't they?

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 11, 2023, 13:02

The release builds are only done for tags. Of course, we can always let them run as well.

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 11, 2023, 13:06

I'll create a test tag for you, then you'll see all builds.

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 11, 2023, 13:07

Damn, tagging only correctly works, when on master. I principle, the jobs and their rules have not changed and are exactly as before.

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 11, 2023, 14:37

added 18 commits

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 11, 2023, 14:45

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 11, 2023, 15:51

added 1 commit

Compare with previous version

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 12, 2023, 03:29

@mariusalexander can you please submit your review?

rainman110 commented 1 year ago

In GitLab by @mariusalexander on May 12, 2023, 07:32

I am struggling a bit with getting my local cmake build to work. Maybe you can have look later. One day I'' be able to do it on my own, I promise... :cry:

rainman110 commented 1 year ago

In GitLab by @rainman110 on May 12, 2023, 07:47

I am n Munich today. Just write the issue or send a screenshot. Then we can solve it async.

rainman110 commented 1 year ago

In GitLab by @mariusalexander on May 12, 2023, 07:58

Okay could be a chellenge, but im all for it.

rainman110 commented 1 year ago

In GitLab by @mariusalexander on May 12, 2023, 08:02

@rainman110 It fails right at the beginning, when I want to configure the cmake project. I have added the GTLAB_DEVTOOLS_DIR as stated in the README. grafik

As you can see it fails to find GTlabLogging. Where do I find the GTlabLoggingConfig.cmake file? I have checked the branch and master devtools. Do I have to build Logging manually to get it as it has not been released yet?

Running C:\Program Files\CMake\bin\cmake.exe -S "C:/devel/c++/GTlab-Core-2-0 (1)" -B "C:/devel/c++/GTlab-Core-2-0 (1)/build" "-DCMAKE_GENERATOR:STRING=Ninja" "-DCMAKE_BUILD_TYPE:STRING=Debug" "-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=C:\devel\c++\GTlab-Core-2-0 (1)\build/.qtc/package-manager/auto-setup.cmake" "-DQT_QMAKE_EXECUTABLE:FILEPATH=C:/Qt/Qt5.15.2/5.15.2/msvc2019_64/bin/qmake.exe" "-DCMAKE_PREFIX_PATH:PATH=C:/Qt/Qt5.15.2/5.15.2/msvc2019_64" "-DCMAKE_C_COMPILER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe" "-DCMAKE_CXX_COMPILER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe" "-DCMAKE_CXX_FLAGS_INIT:STRING=" "-DGTLAB_DEVTOOLS_DIR:STRING=C:/Users/broe_mu/GTlab-DevTools_GitLab_MASTER/unstable/2_0" in C:\devel\c++\GTlab-Core-2-0 (1)\build.
-- Qt Creator: conan package manager auto-setup. Skip this step by setting QT_CREATOR_SKIP_CONAN_SETUP to ON.
loading initial cache file C:/devel/c++/GTlab-Core-2-0 (1)/build/qtcsettings.cmake
CMake Warning (dev) at CMakeLists.txt:30:
  Syntax Warning in cmake code at column 46

  Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Conan: Automatic detection of conan settings from cmake
-- Conan: Detected VS runtime: MDd
-- Conan: Settings= -s;arch=x86_64;-s;build_type=Debug;-s;compiler=Visual Studio;-s;compiler.version=16;-s;compiler.runtime=MDd
-- Conan: checking conan executable
-- Conan: Found program C:/Users/broe_mu/AppData/Local/Programs/Python/Python37/Scripts/conan.exe
-- Conan: Version found Conan version 1.59.0
-- Conan executing: C:/Users/broe_mu/AppData/Local/Programs/Python/Python37/Scripts/conan.exe install C:/devel/c++/GTlab-Core-2-0 (1)/conanfile.py -s arch=x86_64 -s build_type=Debug -s compiler=Visual Studio -s compiler.version=16 -s compiler.runtime=MDd -e=CONAN_CMAKE_TOOLCHAIN_FILE= -e=C:/devel/c++/GTlab-Core-2-0 (1)/build/conan-dependencies/toolchain.cmake -g=cmake_paths -g=cmake_find_package -g=json -g=cmake --build=missing -if=C:/devel/c++/GTlab-Core-2-0 (1)/build/conan-dependencies
ERROR: Invalid input 'C:/devel/c++/GTlab-Core-2-0 (1)/build/conan-dependencies/toolchain.cmake', use 'name=value'
CMake Error at C:/devel/c++/GTlab-Core-2-0 (1)/build/.qtc/package-manager/conan.cmake:540 (message):
  Conan install failed='1'
Call Stack (most recent call first):
  C:/devel/c++/GTlab-Core-2-0 (1)/build/.qtc/package-manager/conan.cmake:882 (old_conan_cmake_install)
  CMakeLists.txt:25 (conan_cmake_run)

-- Configuring incomplete, errors occurred!
See also "C:/devel/c++/GTlab-Core-2-0 (1)/build/conan-dependencies/build/CMakeFiles/CMakeOutput.log".
CMake Warning at build/.qtc/package-manager/auto-setup.cmake:132 (message):
  Qt Creator's conan package manager auto-setup failed.  Consider setting
  QT_CREATOR_SKIP_CONAN_SETUP to ON and reconfigure to skip this step.
Call Stack (most recent call first):
  build/.qtc/package-manager/auto-setup.cmake:142 (qtc_auto_setup_conan)
  CMakeLists.txt:24 (project)

-- The C compiler identification is MSVC 19.29.30140.0
-- The CXX compiler identification is MSVC 19.29.30140.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Setting up GTlab standards configuration
GTlab DevTools enabled at C:/Users/broe_mu/GTlab-DevTools_GitLab_MASTER/unstable/2_0
CMake Error at CMakeLists.txt:55 (find_package):
  By not providing "FindGTlabLogging.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "GTlabLogging", but CMake did not find one.

  Could not find a package configuration file provided by "GTlabLogging" with
  any of the following names:

    GTlabLoggingConfig.cmake
    gtlablogging-config.cmake

  Add the installation prefix of "GTlabLogging" to CMAKE_PREFIX_PATH or set
  "GTlabLogging_DIR" to a directory containing one of the above files.  If
  "GTlabLogging" provides a separate development package or SDK, be sure it
  has been installed.

-- Configuring incomplete, errors occurred!
See also "C:/devel/c++/GTlab-Core-2-0 (1)/build/CMakeFiles/CMakeOutput.log".
CMake process exited with exit code 1.

Elapsed time: 00:05.
rainman110 commented 1 year ago

In GitLab by @rainman110 on May 12, 2023, 08:23

You need to have the latest die tools. Also use stable/2_0, not unstable

rainman110 commented 1 year ago

In GitLab by @mariusalexander on May 12, 2023, 08:31

Magic, it worked. Thanks, using stable did the trick. I thought that unstable is a superset of stable, but I guess I was wrong

rainman110 commented 1 year ago

In GitLab by @mariusalexander on May 12, 2023, 08:33

approved this merge request