CMake:如何基于系统链接两个不同版本的库(32位和64位)?

时间:2014-01-29 08:21:15

标签: makefile cmake

我有两个不同版本的同一个库,一个应该链接到32位,一个用于64位系统。目前,我手动修改CMake文件以根据我正在制作的系统更改链接库。是否可以将其作为自动化任务? CMake可以根据系统决定使用哪个lib吗?

target_link_libraries(${PRODUCT}
                        #lib32
                        lib64)

1 个答案:

答案 0 :(得分:4)

您应该可以使用CMAKE_SIZEOF_VOID_P

if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  set(MyLib lib64)
else()
  set(MyLib lib32)
endif()
target_link_libraries(${PRODUCT} ${MyLib})