cmake tests and libs separate view in qt creator
-
I don't see what add_custom_target should have to do with how QtCreator is showing the targets... You have to wait until QtCreator supports the SOURCES property.
@Christian-Ehrlicher Well, you'll never know. Many times there are tricks to make things work.
I was also thinking to open two projects, one for the libraries and another for the tests, but again, it does not feel like the right approach.It is really disappointing not to have this simple feature.
-
@Christian-Ehrlicher Well, you'll never know. Many times there are tricks to make things work.
I was also thinking to open two projects, one for the libraries and another for the tests, but again, it does not feel like the right approach.It is really disappointing not to have this simple feature.
@Sandon said in cmake tests and libs separate view in qt creator:
this simple feature.
Feel free to provide a patch when you are so confident that this is a simple task. QtCreator is open source.
-
@Sandon said in cmake tests and libs separate view in qt creator:
this simple feature.
Feel free to provide a patch when you are so confident that this is a simple task. QtCreator is open source.
@Christian-Ehrlicher I wish had more time, but yes.. good reply
-
CMake already has the
SOURCES
property, you just need to use cmake generator expressions to use it.Take this example:
cmake_minimum_required(VERSION 3.16) project(WidgetsApp VERSION 0.1 LANGUAGES CXX) add_subdirectory(app) add_subdirectory(tests) add_custom_target(MyApp SOURCES $<LIST:TRANSFORM,$<LIST:FILTER,$<TARGET_PROPERTY:WidgetsApp,SOURCES>,EXCLUDE,.*_autogen/.*>,PREPEND,app/> )
-
CMake already has the
SOURCES
property, you just need to use cmake generator expressions to use it.Take this example:
cmake_minimum_required(VERSION 3.16) project(WidgetsApp VERSION 0.1 LANGUAGES CXX) add_subdirectory(app) add_subdirectory(tests) add_custom_target(MyApp SOURCES $<LIST:TRANSFORM,$<LIST:FILTER,$<TARGET_PROPERTY:WidgetsApp,SOURCES>,EXCLUDE,.*_autogen/.*>,PREPEND,app/> )
@cristian-adam this looks more like a hack to me... 🙂
-
I just saw that I mixed SOURCES And FOLDERS properties - I meant FOLDERS, sorry for the confusion.
https://cmake.org/cmake/help/latest/prop_tgt/FOLDER.html -
@Christian-Ehrlicher thank you very much! This is quite new to me, so it will take time to understand and rewrite it in a way that works for what I need.. but it could be the "hack/trick" I was looking for.
Edit: after reading it carefully, I am still not sure if this applies to my case. Going to read the documentation. Basically I will need a way to read specific CMakeFiles and associate them to a specific target.
-
Regarding
FOLDER
, yes, I'll have to fix https://bugreports.qt.io/browse/QTCREATORBUG-28873 first.Currently Qt Creator is abusing
FOLDER
to make a target runnable. See https://doc.qt.io/qtcreator/creator-run-settings.html#cmake-run-targetsWell, actually, I could keep the
qtc_runnable
special handling, and have original intent. One wouldn't be able to have both. -
@cristian-adam thank you for your reply.
Do you think is it possible to achieve what I asked with current Qt creator capabilities?
-
@cristian-adam thank you for your reply.
Do you think is it possible to achieve what I asked with current Qt creator capabilities?
@Sandon said in cmake tests and libs separate view in qt creator:
@cristian-adam thank you for your reply.
Do you think is it possible to achieve what I asked with current Qt creator capabilities?
Nope. I have a fix for https://bugreports.qt.io/browse/QTCREATORBUG-28873, you can take an artifact from https://github.com/cristianadam/qt-creator/actions/runs/9979288965 and try it out.
After the code review is done, you can have a Qt Creator 15 snapshot from https://download.qt.io/development_releases/qtcreator/ when they are available.
-
Alternatively you can fork Qt Creator on github, apply the patch from https://codereview.qt-project.org/c/qt-creator/qt-creator/+/576805 and push a release tag on github.
This will get you a Qt Creator 14 release with the patch in.
-
Qt Creator is open source, Qt Creator is written in C++, and you don't have to do much in order to get a build on GitHub.
-
@cristian-adam that's awesome mate, great job. I look forward to try it out. Thanks again!