Die Installation zusätzlicher Dateien mit CMake
Ich bin versucht zu liefern einige "source" - Dateien, die einige ausführbaren Dateien. Ich Frage mich, ob es war ein Weg, um kopieren Sie die Quelldateien in das build-Verzeichnis (Aus dem source-Verzeichnis) und dann auf das install-Verzeichnis mit CMake.
Mein konkretes Ziel ist hier zu gehören OpenCL-Kernel, dass ich das schreiben in Ihrer eigenen *.cl-Dateien.
Beispiel:
mkdir build
cd build
cmake ..
make
Nun mein Verzeichnis sollte eine ausführbare Datei (standard CMake) und some_opencl_kernel.cl
die ich offen in meine ausführbare Datei.
InformationsquelleAutor Constantin | 2013-03-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kopieren Sie die Datei in das build-tree mit
add_custom_command
durch hinzufügen von etwas wie das folgende:Fügt eine post-build-event, um Ihre Zielgruppe (ich genannt habe, es
MyExe
) kopiert die Dateisrc/some_opencl_kernel.cl
im selben Verzeichnis, in deinem build-tree wie die ausführbare.Gibt es verschiedene andere Möglichkeiten zum kopieren einer Datei in den build-Baum, aber ich mag diese, denn es verwendet die "generator-Ausdruck"
$<TARGET_FILE_DIR:MyExe>
um den Speicherort der ausführbaren Datei-Verzeichnis im build-tree. Dies kann variieren, abhängig von z.B. build-Typ oder Plattform, so dass der generator-Ausdruck ist über die zuverlässige cross-Plattform-Möglichkeit der Angabe dieser Position fühle ich mich.Als für die Installation, können Sie einfach die
installieren(DATEIEN,...)
Befehl. Vorausgesetzt, für Ihre ausführbare Datei, die Sie haben so etwas wie:kann man nur hinzufügen:
dem installieren wird es zu
${CMAKE_INSTALL_PREFIX}/bin/some_opencl_kernel.cl
neben der ausführbaren Datei.configure_file
mit derCOPYONLY
?Das funktioniert auch und ist die einfachste option, wenn Sie nicht kopieren", um die build-dir, wo sich die EXE-Dateien/libs gesetzt wird, oder wenn, dass dir behoben ist. Zum Beispiel, MSVC, wird ein "Debug" - Verzeichnis auf die
RUNTIME_OUTPUT_DIRECTORY
für Debug-builds. Wenn Sie nie mit einem multi-configuration-generator, dies ist vielleicht nicht ein Problem für Sie, undconfigure_file
wäre eine einfachere option.InformationsquelleAutor Fraser
Wenn Sie kopieren möchten, ein Ordner-Baum mit irgendeiner Art von Dateien:
Wenn Sie möchten, kopieren Sie alle Dateien im Ordner, entfernen Sie einfach die FILES_MATCHING Muster.
InformationsquelleAutor vgonisanz