Leider gibt es keine einfache 1 verwenden: 1 Umwandlung von Makefiles zu CMakeLists. Da CMake auf allen Plattformen laufen soll, kann es sich nicht auf plattformspezifische Annahmen wie GNU make verlassen, was die Dinge an bestimmten Orten verkompliziert.
Insbesondere bietet CMake einen sehr leistungsfähigen und ziemlich komplexen Mechanismus für die Verwendung von Bibliotheken: Sie rufen find_package mit dem Namen Ihrer Bibliothek, die ein Bibliothekssuch Skript aus Ihrem CMAKE-Modul Pfad aufrufen wird. Dieses Skript (das auch in CMake geschrieben wird) versucht, den Speicherort der Header- und Lib-Dateien der Bibliothek zu ermitteln und sie in einigen CMake-Variablen zu speichern, die dann an die entsprechenden CMake-Befehle wie include_directories und target_link_libraries übergeben werden können.
Es gibt zwei Probleme mit diesem Ansatz: Zuerst benötigen Sie ein Suchskript. Glücklicherweise wird CMake mit Suchskripten für Pthreads, Boost und ein paar anderen ausgeliefert, aber wenn Sie eine exotischere Bibliothek verwenden, müssen Sie vielleicht das Suchskript selbst schreiben, was auf den ersten Blick eine arkane Erfahrung ist ...
Das zweite große Problem ist, dass es kein Standardverfahren für ein Suchskript gibt, das seine Ergebnisse zurückgibt. Zwar gibt es Namenskonventionen für die verwendeten Variablen, diese gelten jedoch häufig nicht. In der Praxis bedeutet das, dass Sie die Quelle eines Suchskripts auschecken müssen, um zu wissen, wie Sie es verwenden. Glücklicherweise sind die mit CMake gelieferten Skripte größtenteils sehr gut dokumentiert.
Die eingebauten Skripte befinden sich irgendwo wie <cmake-install-prefix>/share/cmake-2.8/Modules
. Sehen Sie sich für Ihre Frage die Dateien FindBoost.cmake und FindThreads.cmake an (CMake sollte automatisch mit der Standardbibliothek verknüpft sein). Anycorn gab bereits einen Beispielcode für die Verwendung des Boost-Skripts, alles Weitere, was Sie wissen müssen, finden Sie in der CMake-Dokumentation oder direkt in den Suchskriptdateien.