如何从文件夹添加库到cmake

时间:2018-12-25 13:52:56

标签: 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
)

0 个答案:

没有答案