Używam QtCreatora do otwierania projektu CMake. Niektóre katalogi oprócz CMakeLists.txt zawierają tylko pliki nagłówkowe * .h, a dla tych katalogów QtCreator w widoku drzewa projektu pokazuje tylko CMakeLists.txt. Jak to naprawić? Muszę zobaczyć wszystkie pliki projektu z QtCreator.Projekt QtCreator CMake - jak wyświetlić wszystkie pliki projektu
Odpowiedz
Wyświetlanie projektu jako systemu plików nie jest rozwiązaniem w ogóle, ponieważ ustawienia edytora projektu na przykład nie będą miały zastosowania. I nie lubię dodawać nagłówków do wykonywalnych celów, ponieważ w rzeczywistości ich tam nie ma. Skutecznie okaleczyłeś plik projektu, aby dobrze działał z jednym konkretnym IDE ... nie jest dobry. Odkurzacz opcja IMHO byłoby:
FILE(GLOB_RECURSE LibFiles "include/*.hpp")
add_custom_target(headers SOURCES ${LibFiles})
Jako bonus dostaniesz swój obejmuje przedstawiono w osobnym folderze. (zapożyczono z https://cmake.org/pipermail/cmake/2012-August/051811.html)
Proponuję zmienić widok projektu na System plików. To wyświetli widok, w którym można oglądać dowolny plik:
może chcesz się podzielić na dwie części widoku projektu klikając drugi do prawego przycisku, jeśli nadal pragną tryb projektów.
Należy dodać pliki nagłówkowe do listy plików źródłowych: add_executable(${Executable} ${Sources} ${headers})
Można wykorzystać GLOB_RECURSE
jeśli masz wiele plików nagłówka:
FILE(GLOB_RECURSE INC_ALL "headers/*.h")
include_directories("headers")
add_executable(main "main.cpp" ${INC_ALL})
Nie zapomnij ponownie uruchomić CMake (Build> Uruchom Cmake).
[CMake oficjalnie nie poleca] (https://cmake.org/cmake/help/latest/command/file.html) globalizacji źródeł, ponieważ CMake wtedy nie będzie w stanie wykryć kiedy musi się zregenerować na podstawie dodanych, usuniętych lub zmienionych nazw plików. –
Możesz spróbować CMakeProjectManager2. Kod wyświetlający wszystkie pliki, które są już propagowane do źródła jako dowód koncepcji. Koncept zastosowany, ale kod nie może być zastosowany tak jak jest z kilku powodów. Tak, prosta funkcja oczekiwania w górnym biegu.
Na podstawie innego wątku zadającego to samo pytanie, znalazłem ogólne rozwiązanie problemu, działające dla wszystkich IDE (przynajmniej testowane z QtCreator i Visual Studio).
można znaleźć tutaj: https://github.com/sauter-hq/cmake-ide-support
# \brief adds for the given target a fake executable targets which allows all
# headers and symbols to be shown in IDEs.
# \param target_name Which target properties should be added to the IDE support target.
function(target_add_ide_support target_name)
if (NOT TARGET ${target_name})
message(FATAL_ERROR "No target defined with name ${target_name}, cannot target_add_ide_support it.")
endif()
set (target_for_ide "${target_name}_ide_support")
if (NOT TARGET ${target_for_ide})
file(GLOB_RECURSE target_for_ide_srcs "*.h" "*.hpp" "*.hxx" "*.c" "*.cpp" "*.cxx")
add_executable(${target_for_ide} ${target_for_ide_srcs})
set_target_properties(${target_for_ide} PROPERTIES EXCLUDE_FROM_ALL 1 EXCLUDE_FROM_DEFAULT_BUILD 1)
endif()
get_target_property(dirs ${target_name} INCLUDE_DIRECTORIES)
target_include_directories(${target_for_ide} PRIVATE ${dirs})
endfunction(target_add_ide_support)
Wykorzystanie jest to dla niej cele w CMakeLists, dodać następujące połączenia (może być wykonane w najwyższym, CMakeLists.txt przecież add_subdirectory:
include(add_ide_support.cmake)
target_add_ide_support(some-target)
Miałem problem z zaakceptowanym rozwiązaniem, nie mogąc wyszukać niektórych zewnętrznych nagłówków (z biblioteki PCL Pointcloud) w plikach nagłówkowych mojego projektu. Zastosowanie tego podejścia rozwiązało problem. – mikkola
- 1. Jak poprawnie skonfigurować projekt CMake?
- 2. Jak skonfigurować hierarchię projektu w QtCreator?
- 3. Jak utworzyć projekt Xcode z istniejącego projektu git cmake?
- 4. QTCreator: Użyj projektu qt w innym
- 5. CMake: zależności od zewnętrznego projektu
- 6. Jak zbudować projekt oparty na CMake dla systemu Android/iOS przy użyciu QtCreator
- 7. CMake: jak dodać cuda do istniejącego projektu
- 8. CMake generuje projekt xcode z lokalizacjami
- 9. Jak dołączyć wszystkie pliki do katalogu za pomocą cmake?
- 10. Jak wyświetlić ukryte pliki w widoku projektu Aptany?
- 11. Jak wyświetlić zagnieżdżone pliki pri w panelu projektu Qt Creator?
- 12. Określ, w jaki sposób cmake tworzy projekt wizualny studio
- 13. cmake zawierające pliki h z innych katalogów
- 14. Jak zmusić QtCreator do załadowania pliku pro.user?
- 15. Uzyskaj wszystkie pliki źródłowe, których cel zależy od CMake
- 16. CMake, jak zachować wygenerowane pliki tymczasowe?
- 17. Czy mogę wyświetlić wszystkie pliki zasobów ciągów w drzewie folderów?
- 18. Cmake dodać projekt niestandardowy VS2010 Budowanie zdarzeń
- 19. Pliki zasobów CMake i Visual Studio
- 20. Jak wyświetlić dokumentację interfejsu API w narzędziach QtCreator?
- 21. Jak przekonwertować projekt WinForm do projektu wpf
- 22. Jak utworzyć folder lub podkatalog dla projektu w QtCreator?
- 23. Jak wyświetlić pliki webfont EOT?
- 24. Projekt Xcode wewnątrz projektu
- 25. Osadzanie jednego projektu cmake w innym?
- 26. cmake vs waf dla projektu C++
- 27. Pliki projektu IntelliJ nagle zerwane
- 28. Importowanie projektu CMake do Eclipse CDT
- 29. gdzie robi qtcreator z ustawieniami uruchamiania i kompilacji sklepu cmake i jak ustawić za pomocą skryptu?
- 30. Nie można budować projektu OpenCV z cmake
Ok, ale które oświadczenie w plikach CMake powoduje, że pliki są widoczne w widoku drzewa projektu? – Irbis
Nie jestem pewien.Ale są deklaracje w CMake określanie kodu źródłowego prawdopodobnie dodać ograniczenie do tego, co wyświetla widok drzewa projektu. trochę budynku funkcja t-in samego QtCreatora, wątpię. –
Niestety widok pliku jest płaski, a zatem nie jest wystarczającym zamiennikiem widoku projektu. – Zulan