在CMAKE中制作程序之前如何制作一个库?
How to make a lib before making the program in CMAKE?
我希望能够在编译我的项目之前动态编译我的项目将使用的库。
我正在用 C++(使用 Clion)建立一个 Vulkan 项目,并希望它是多平台的,我正在使用 GLFW3.3 来实现它。
我不想为每个平台构建我的库并将 libs 和 .h 放在一个将通过 CMakeLists.txt 链接的文件夹中,我希望能够 CMAKE+制作库,然后将lib 和 .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 文件并依赖于它作为主要目标。
我希望能够在编译我的项目之前动态编译我的项目将使用的库。
我正在用 C++(使用 Clion)建立一个 Vulkan 项目,并希望它是多平台的,我正在使用 GLFW3.3 来实现它。
我不想为每个平台构建我的库并将 libs 和 .h 放在一个将通过 CMakeLists.txt 链接的文件夹中,我希望能够 CMAKE+制作库,然后将lib 和 .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 文件并依赖于它作为主要目标。