你好,
我想在我的项目中使用Web服务创建的.h
和.c.
文件,但是我不想在仓库中存储每个〜10k行文件。
有没有办法通过CMAKE包含它并“构建”它,并生成所需的文件(类似于GLFW)?
谢谢你的项目
是的,有可能。 在您的项目中创建一个子目录,并在其中添加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
应该允许您执行此操作(通过add_subdirectory
iirc)。
我还一直在研究glad2,它具有一个新的CMakeLists.txt
,并在此处提供了
最有用的评论
是的,有可能。 在您的项目中创建一个子目录,并在其中添加
CMakeLists.txt
和文件:然后在您的主要
CMakeLists.txt
文件中放入:或类似的东西。 有很多方法可以实现这一目标。