cmake使用-pthread

在低版本中(低于3.1.0),要开启-pthread选项使用下面的办法是不可行的:

find_package(Threads REQUIRED)
target_link_libraries(${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})

那么我们该怎么做呢?

# use -pthread
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS -pthread LINK_FLAGS -pthread)
#Or set global variables:
#set(CMAKE_LINKER_FLAGS "-pthread" CACHE STRING "Linker Flags" FORCE)
#set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_LINKER_FLAGS}" CACHE STRING "" FORCE)
#set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS}" CACHE STRING "" FORCE)
#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS}" CACHE STRING "" FORCE)
##

使用这个办法,我们就可以使用了,上面介绍了两种方法,如果其中一种不能用,可以切换到另一种。第一种办法解决了我的问题。