在用CMAKE制作程序之前如何制作库?

How to make a lib before making the program in CMAKE?

本文关键字:何制作 CMAKE 程序 在用      更新时间:2023-10-16

我希望能够在编译项目之前动态编译一个将由我的项目使用的库。

我正在C++(与Clion(建立一个Vulkan项目,并希望它是多平台的,我正在使用GLFW3.3来实现这一点。

与其为每个平台构建我的库并将库和 .h 放在将通过 CMakeLists.txt 链接的文件夹中,我希望能够 CMAKE+make 库,然后将库和 .h 放在它们需要的位置,然后开始编译我的程序将使用这些。

GLFW有一个有效的CMakeLists.txt(我设法通过控制台手动制作它(,但我不知道如何告诉CMAKE制作它等。

我习惯于使用 CMake 来定义库的路径,包括但我的最后一个项目也是多平台,我不喜欢我处理库的方式(手动构建等(。 所以我正在寻找一种在 CMake 中同时完成所有操作的方法,即使这样做需要时间,但我不知道它是如何工作的。

看看 Glitter 是如何做到的:

option(GLFW_BUILD_DOCS OFF)
option(GLFW_BUILD_EXAMPLES OFF)
option(GLFW_BUILD_TESTS OFF)
add_subdirectory(Glitter/Vendor/glfw)
target_link_libraries(${PROJECT_NAME} ... glfw)

它们只包括 GLFW 提供的 CMakeLists.txt 文件,并依赖于它作为主要目标。