Fragen zu cmake
- The Hit-Man
- Beiträge: 2222
- Registriert: 21.11.2004 17:01:56
- Wohnort: Menden ( Sauerland )
-
Kontaktdaten:
Fragen zu cmake
Ich habe mir mit cmake ein binary gebaut. Hat so weit auch alles funktioniert. Jetzt habe ich einfach mal das src Verzeichnis verschoben und wollte cmake einfach wieder bauen lassen. Da ja alle .o Dateien schon erstellt worden sind, sollte das ja nicht lange dauern. Eigentlich erstellt das cmake ja nur eine Makefile Datei. Also wenn ich den src Ordner wo anders hin verschiebe, will alles komplett neu gebaut werden. Läßt sich das irgendwie umgehen? Da ja, wie gesagt alle .o Dateien und so weiter schon gebaut worden sind.
Wer HTML postet oder gepostetes HTML quotet oder sich gepostetes oder
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.
damals windows, früher ubuntu, danach debian, heute arch-linux
gequotetes HTML beschafft, um es in Verkehr zu bringen, wird geplonkt.
damals windows, früher ubuntu, danach debian, heute arch-linux
- SubOptimal
- Beiträge: 1709
- Registriert: 10.01.2005 23:25:46
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: bei Frankfurt
Re: Fragen zu cmake
Hi The Hit-Man,
kommt darauf an welche Aktion du mit "Jetzt habe ich einfach mal das src Verzeichnis verschoben ..." durchgeführt hast.
Wenn du das Projektverzeichnis verschoben hast, z. B. /opt/tool/ nach /opt/projekte/tool/, dann wird CMake die Datei CMakeCache.txt als ungültig ansehen, du musst die generierten Dateien löschen und neu erstellen lassen.
Wenn du ein Projekt-Unterverzeichnis verschoben hast, z. B. /opt/tool/src/ nach /opt/tool/sourcen/ dann findet make die generierten Objektdateien nicht mehr.
Angenommen du hast in der CMakeLists.txt die Zeile geändert in Dann hat ein Build beim ersten Verzeichnis die Objektdateien in gespeichert. Ein Build im zweiten Verzeichnis legt diese aber in an. Auch wenn die Datei dann schon existiert, wird make die Objektdateien in dem Verzeichnis nicht finden und das dazugehörige Target und davon abhängige neu bauen.
Gruß
SubOptimal
kommt darauf an welche Aktion du mit "Jetzt habe ich einfach mal das src Verzeichnis verschoben ..." durchgeführt hast.
Wenn du das Projektverzeichnis verschoben hast, z. B. /opt/tool/ nach /opt/projekte/tool/, dann wird CMake die Datei CMakeCache.txt als ungültig ansehen, du musst die generierten Dateien löschen und neu erstellen lassen.
Wenn du ein Projekt-Unterverzeichnis verschoben hast, z. B. /opt/tool/src/ nach /opt/tool/sourcen/ dann findet make die generierten Objektdateien nicht mehr.
Angenommen du hast in der CMakeLists.txt die Zeile
Code: Alles auswählen
add_executable(app src/main.cpp)
Code: Alles auswählen
add_executable(app srcnew/main.cpp)
Code: Alles auswählen
build/CMakeFiles/app.dir/src
Code: Alles auswählen
build/CMakeFiles/app.dir/srcnew
Code: Alles auswählen
build/app
Gruß
SubOptimal