Glad: Как использовать прямо из CMAKE

Созданный на 7 нояб. 2018  ·  6Комментарии  ·  Источник: Dav1dde/glad

Привет,

Я хочу использовать файлы .h и .c. созданные веб-сервисом в моем проекте, но я не хочу хранить каждый ~ 10k строчный файл в моем репо.

Есть ли способ включить это и "собрать" через CMAKE и создать необходимые файлы (аналогично GLFW)?

Спасибо за ваш проект

C cmake glad1 question

Самый полезный комментарий

Да, это возможно. Создайте подкаталог в своем проекте и добавьте в него 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/)

Затем в ваш основной файл CMakeLists.txt поместите:

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

Или что-то типа того. Есть несколько способов добиться этого.

Все 6 Комментарий

Да, это возможно. Создайте подкаталог в своем проекте и добавьте в него 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/)

Затем в ваш основной файл CMakeLists.txt поместите:

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

Или что-то типа того. Есть несколько способов добиться этого.

@Shimmen, спасибо за объяснение!

Вы также можете просмотреть выпуск https://github.com/Dav1dde/glad/issues/174, где несколько замечательных людей добавили дополнительные способы сделать это.

Лично я бы включил сгенерированные файлы, хотя символы должны быть отсортированы, поэтому, если вы обновите сгенерированные файлы в какой-то момент, вы получите минимальные различия, а также это означает, что у вас нет зависимости от внешних ресурсов и Python.

Я просто понял, что совсем не дал ответа на исходный вопрос! Лично мне нравится хранить радостные вещи вне моего исходного каталога и на этапе сборки моего основного исполняемого файла, так что мой пример делает именно это.

Я предполагаю, что на это есть ответ, если нет, пожалуйста, не стесняйтесь открывать снова.

Я понимаю, что обычно помещать сгенерированные файлы в каталог include, но есть ли способ создать это при сборке CMake?

Я не думаю, что использование Python - это такая уж большая проблема, это обычное дело. По крайней мере, приятно иметь возможность.

@DerekCresswell да, вы можете запустить генератор в сборке, в корне этого репозитория есть CMakeLists.txt который должен позволить вам это сделать (iirc через add_subdirectory ).

Я также работал над glad2, у которого есть новый CMakeLists.txt с примером здесь .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги