当我将它用作库路径时,CMake将绝对路径转换为相对路径

时间:2017-11-29 23:24:04

标签: cmake

我正在尝试编写CMake代码以在Visual Studio 2013应用程序中包含库。根据我是构建32位还是64位,库存在不同的路径。所以我写这个:

if(CMAKE_SIZEOF_VOID_P EQUAL 8)
    set(MY_LIBRARY "${CMAKE_SOURCE_DIR}/src/foo/x64/mylib.lib")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
    set(MY_LIBRARY "${CMAKE_SOURCE_DIR}/src/foo/mylib.lib")
endif()

MESSAGE(STATUS "MY_LIBRARY is ${MY_LIBRARY}")

target_link_libraries(
    myapp
    otherlibs
    ${MY_LIBRARY}
)

当我在CMake文件中显示MY_LIBRARY的值时,它会显示正确的绝对路径,但是当我打开生成的Visual Studio项目文件并检查链接器设置时,路径已转换为相对路径之一。

到底发生了什么事?

0 个答案:

没有答案