Glad: So verwenden Sie direkt von CMAKE

Erstellt am 7. Nov. 2018  ·  6Kommentare  ·  Quelle: Dav1dde/glad

Hallo,

Ich möchte die vom Webservice in meinem Projekt erstellten Dateien .h und .c. verwenden, aber ich möchte nicht jede ~ 10k-Zeilendatei in meinem Repo speichern.

Gibt es eine Möglichkeit, dies einzuschließen und über CMAKE zu "erstellen" und die erforderlichen Dateien generieren zu lassen (ähnlich wie bei GLFW)?

Danke für dein Projekt

C cmake glad1 question

Hilfreichster Kommentar

Ja es ist möglich. Erstellen Sie ein Unterverzeichnis in Ihrem Projekt und fügen Sie zusammen mit den Dateien ein CMakeLists.txt :

cmake_minimum_required(VERSION 3.0)
project(Glad)

add_library(glad include/glad/glad.h src/glad.c)
target_include_directories(glad PUBLIC include/)

Dann setzen Sie in Ihre Hauptdatei CMakeLists.txt :

add_subdirectory(glad/)
target_link_libraries(<your target> PRIVATE glad)

Oder etwas ähnliches. Es gibt eine Reihe von Möglichkeiten, dies zu erreichen.

Alle 6 Kommentare

Ja es ist möglich. Erstellen Sie ein Unterverzeichnis in Ihrem Projekt und fügen Sie zusammen mit den Dateien ein CMakeLists.txt :

cmake_minimum_required(VERSION 3.0)
project(Glad)

add_library(glad include/glad/glad.h src/glad.c)
target_include_directories(glad PUBLIC include/)

Dann setzen Sie in Ihre Hauptdatei CMakeLists.txt :

add_subdirectory(glad/)
target_link_libraries(<your target> PRIVATE glad)

Oder etwas ähnliches. Es gibt eine Reihe von Möglichkeiten, dies zu erreichen.

@ Shimmen danke für die Erklärung!

Sie können auch das Problem https://github.com/Dav1dde/glad/issues/174 durchsehen, in dem einige großartige Leute weitere Möglichkeiten hinzugefügt haben, dies zu tun.

Persönlich würde ich die generierten Dateien einschließen. Die Symbole sollten jedoch sortiert sein. Wenn Sie die generierten Dateien an einem Punkt aktualisieren, erhalten Sie nur minimale Unterschiede. Dies bedeutet auch, dass Sie nicht von externen Ressourcen und Python abhängig sind.

Ich habe gerade festgestellt, dass ich überhaupt keine Antwort auf die ursprüngliche Frage gegeben habe! Persönlich mag ich es, das fröhliche Zeug aus meinem Quellverzeichnis und aus dem Build-Schritt meiner ausführbaren Hauptdatei herauszuhalten, also ist es das, was mein Beispiel tut.

Ich gehe davon aus, dass dies beantwortet wird. Wenn nicht, können Sie es gerne wieder öffnen.

Ich verstehe, dass es typisch ist, die generierten Dateien in Ihrem Include-Verzeichnis abzulegen, aber gibt es eine Möglichkeit, diese beim Erstellen von CMake zu generieren?

Ich denke nicht, dass es so wichtig ist, Python zu benötigen, es ist sehr üblich. Die Option zu haben ist zumindest schön.

@DerekCresswell Ja, Sie können den Generator für einen Build ausführen. Im Stammverzeichnis dieses Repositorys befindet sich ein CMakeLists.txt mit dem Sie dies tun können (iirc bis add_subdirectory ).

Ich habe auch an glad2 gearbeitet, das ein neues CMakeLists.txt mit einem Beispiel hier hat .

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen