Wie lautet der Standardsuchpfad für find_package in Windows mit cmake?

8

Ich portiere etwas Code in Windows und meine cmake checkt das Paket Libavahi mit

%Vor%

Ich habe die Header, DLL, etc., aber ich bin mir nicht sicher, wo ich diese platzieren soll, damit cmake sie findet.

Wo kann ich diese Dateien von cmake finden? Sie befinden sich in einem Ordner namens usr .

Ich sehe, dass der Modulpfad angegeben wird mit:

%Vor%

Aber ich frage mich, ob es einen Standard-Speicherort gibt, der ebenfalls durchsucht wird

    
JuJoDi 23.01.2014, 17:10
quelle

1 Antwort

11

Das CMake-Handbuch gibt die ziemlich komplizierte Suchreihenfolge für die verschiedenen% co_de vollständig an % Befehle Da Windows leider keine Standardverzeichnisstruktur à la find_* hat, ist es hier schwer, vernünftige Standardwerte zu finden.

Eine der zuverlässigsten Methoden zur Verwaltung von Verzeichnissen sind Hinweise zu Umgebungsvariablen. Sie fügen einfach einen /usr/local/lib zum Abschnitt $ENV{MY_VAR} des Befehls find hinzu und dokumentieren diese Umgebungsvariable dann in der Readme Ihres Projekts. Die meisten Benutzer, die in der Lage sind, ein C ++ - Programm zu kompilieren, wissen, wie man Umgebungsvariablen verwendet, und es ist viel bequemer, als jedes Mal den Pfad in der Befehlszeile angeben zu müssen (obwohl es als zusätzliche Option nie schadet) / p>

Für HINTS CMake bietet einen speziellen Mechanismus für Windows namens Paket-Registrierung . CMake unterhält eine Liste mit Paketinformationen in der Windows-Registrierung unter find_package . Pakete, die aus der Quelle erstellt wurden, können sich dort mit dem Befehl HKEY_CURRENT_USER\Software\Kitware\CMake\Packages\ registrieren. Andere später auf demselben Rechner erstellte Projekte können dann dieses Paket ohne zusätzliche Konfiguration finden. Dies ist sehr leistungsfähig, wenn Sie viele voneinander abhängige Projekte von der Quelle auf demselben Rechner erstellen müssen.

    
ComicSansMS 24.01.2014, 08:51
quelle

Tags und Links