首页 > 解决方案 > 如何将库从文件夹添加到 cmake

问题描述

我以前从未使用过 cmake,但现在我被迫将我的 Visual Studio 2013 OpenGL 项目移植到其中。但是,我似乎无法弄清楚如何将库(甚至像 GLM 这样的仅标头库)从文件夹链接到它。我的目录层次结构是这样的:

project
|--src
|----main.cpp
|----functions.h
|----functions.cpp
|----...
|--libraries
|----GLM
|------glm (<--the include directory)
|----glew-2.0.0
|------include
|------lib
|----GLFW
|------include
|------lib-vc2013

似乎有很多关于如何使用系统路径和变量来安装和链接此类库的建议,但此类解决方案对我来说毫无用处,因为库必须与源文件一起提供,因为我不能指望其他机器安装这些库或要求它们在项目目录之外安装库。我还应该提到我正在使用 OS Windows 7。

编辑: 这是我链接库的 CMakeLists.txt 文件:

cmake_minimum_required(VERSION 3.0)
ADD_EXECUTABLE( water_surface main.cpp functions.h functions.cpp)

TARGET_LINK_LIBRARIES(water_surface opengl32)

link_directories(
    ${CMAKE_SOURCE_DIR}/libraries/glew-2.0.0/lib/release/Win32
)
TARGET_LINK_LIBRARIES(water_surface glew32)
include_directories(
    ${CMAKE_SOURCE_DIR}/libraries/glew-2.0.0/include
)

link_directories(
    ${CMAKE_SOURCE_DIR}/libraries/GLFW/lib-vc2013
)
TARGET_LINK_LIBRARIES(water_surface glfw3)
include_directories(
    ${CMAKE_SOURCE_DIR}/libraries/GLFW/include
)


include_directories(
    ${CMAKE_SOURCE_DIR}/libraries/GLM/glm
)

标签: cmake

解决方案


推荐阅读