Es kann mühsam sein, ExternalProjects aufzurufen, wenn ihre Installationsziele durcheinander geraten sind. Daher möchte man vielleicht einmal externeProjekte erstellen und installieren, bevor Hauptprojektdateien für ein bestimmtes Projekt erzeugt werden. Ist es möglich mit CMake und wie es geht?Wie baue ich CMake ExternalProject während der Konfiguration des Hauptfensters?
Antwort
können Sie verwenden cmake
Anruf innerhalb execute_process
für konfigurieren und bauen CMake Projekt, das ExternalProject enthält:
other_project/CMakeLists.txt:
project(other_project)
include(ExternalProject)
ExternalProject_Add(<project_name> <options...>)
CMakeLists.txt:
execute_process(
COMMAND ${CMAKE_COMMAND} --build . ${CMAKE_SOURCE_DIR}/other_project
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/other_project
)
So ein wa y other_project werden konfiguriert und gebaut (wegen --build
Option) im Verzeichnis ${CMAKE_BINARY_DIR}/other_project
. Wenn Sie die Installation unter ExternalProject_Add
nicht deaktivieren, wird dies beim Erstellen der other_project ausgeführt.
Normalerweise möchten Sie einige Optionen zu ExternalProject, wie SOURCE_DIR
, , INSTALL_DIR
, von Variablen im Hauptprojekt abgeleitet werden. Sie haben zwei Möglichkeiten für das achive:
erstellen CMakeLists.txt für other_project mit
configure_file
, vom Hauptprojekt genannt (vorexecute_process
Befehl).Übergeben Sie Variablen aus dem Hauptprojekt als
-D
Parameter an${CMAKE_COMMAND}
.
- 1. CMake: GLFW als ExternalProject
- 2. CMake & ExternalProject: Fails bestimmte Datei
- 3. CMake ExternalProject Mehrere Download-URLs hinzufügen
- 4. cmake Fehler bei der Konfiguration
- 5. Qt: Wie stelle ich die Startposition des Hauptfensters ein?
- 6. DevExpress - Winforms - Wie schwebe ich ein Widget außerhalb des Hauptfensters?
- 7. CMake ExternalProject: Wie wird der relative Pfad zur Wurzel CMakeLists.txt angegeben?
- 8. Zieldatei fehlschlägt während der Installation der Bühne mit CMake
- 9. Wie eine neue Konfiguration mit CMake
- 10. QTableView wird beim Ändern der Größe des Hauptfensters nicht skaliert
- 11. Wie behandelt man CMake ExternalProject, wenn Repo (googeltest) mehrere Bibliotheken hat?
- 12. Wie kann ich das graue Fenster des Hauptfensters nach Aktivierung des untergeordneten Fensters nicht mehr anzeigen?
- 13. Wie baue ich mein GLFW3-Projekt unter Linux?
- 14. Wie baue ich einen virtuellen USB-Simulator?
- 15. Wie baue ich einen Sensorsimulator für Android?
- 16. WooCommerce: Ich kann keine Zertifikatsdatei während der cURL-Konfiguration schreiben
- 17. CMake: Verknüpftes C++ - Objekt von ExternalProject erzeugt Binärdateien mit relativem Pfad, nicht absolut
- 18. Wie baue ich wiederverwendbare Widgets in jinja2?
- 19. ich baue pipeline_kafka extension
- 20. Wie baue ich ein großartiges Spieleentwicklungs-Team?
- 21. Einstellen eines transparenten Hauptfensters
- 22. Wie baue ich diesen endlichen Automaten?
- 23. Wie baue ich ein Network.HTTP.Conduit.Request-Objekt?
- 24. Wie baue ich einen DataBase Miner?
- 25. Warum läuft meine Anwendung noch nach dem Schließen des Hauptfensters?
- 26. Wie baue ich eine Abfrage dafür?
- 27. Wie baue ich meine Website in Firefox?
- 28. Wie baue ich SQLite3 über die Befehlszeile?
- 29. Wie baue ich Artefakte in Teamcity ein
- 30. Wie zu beheben libgmp und libmpfr Mismatch während der Konfiguration