Skip to content
Snippets Groups Projects
Commit 4d5b70be authored by Aaron Bray's avatar Aaron Bray
Browse files

Support finding both debug and optimized pthread libraries

parent 7bc1bda6
No related branches found
No related tags found
No related merge requests found
find_path(PTHREAD_INCLUDE_DIR find_path(PTHREAD_INCLUDE_DIR
pthread.h pthread.h
) )
set(PTHREAD_INCLUDE_DIR ${PTHREAD_INCLUDE_DIR})
find_library(PTHREAD_LIBRARY find_library(PTHREAD_RELEASE_LIBRARY
NAMES NAMES
pthread pthread
libpthread libpthread
) )
if (EXISTS ${PTHREAD_RELEASE_LIBRARY})
set(PTHREAD_INCLUDE_DIRS "${PTHREAD_INCLUDE_DIR}") list(APPEND PTHREAD_LIBRARIES optimized ${PTHREAD_RELEASE_LIBRARY})
set(PTHREAD_LIBRARIES "${PTHREAD_LIBRARY}") endif()
find_library(PTHREAD_DEBUG_LIBRARY
NAMES
pthreadd
libpthreadd
)
if (EXISTS ${PTHREAD_DEBUG_LIBRARY})
list(APPEND PTHREAD_LIBRARIES debug ${PTHREAD_DEBUG_LIBRARY})
endif()
include(FindPackageHandleStandardArgs) include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PTHREAD find_package_handle_standard_args(PTHREAD
REQUIRED_VARS REQUIRED_VARS
PTHREAD_INCLUDE_DIR PTHREAD_INCLUDE_DIR
PTHREAD_LIBRARY) PTHREAD_LIBRARIES)
mark_as_advanced( mark_as_advanced(
PTHREAD_INCLUDE_DIR PTHREAD_INCLUDE_DIR
PTHREAD_LIBRARY) PTHREAD_DEBUG_LIBRARY
PTHREAD_RELEASE_LIBRARY)
if(PTHREAD_FOUND AND NOT TARGET Threads::Threads) if(PTHREAD_FOUND AND NOT TARGET Threads::Threads)
add_library(Threads::Threads INTERFACE IMPORTED) add_library(Threads::Threads INTERFACE IMPORTED)
set_target_properties(Threads::Threads PROPERTIES target_include_directories(Threads::Threads INTERFACE "${PTHREAD_INCLUDE_DIR}")
INTERFACE_LINK_LIBRARIES "${PTHREAD_LIBRARY}" if (EXISTS ${PTHREAD_DEBUG_LIBRARY})
INTERFACE_INCLUDE_DIRECTORIES "${PTHREAD_INCLUDE_DIRS}") target_link_libraries(Threads::Threads INTERFACE debug ${PTHREAD_DEBUG_LIBRARY})
endif()
if (EXISTS ${PTHREAD_RELEASE_LIBRARY})
target_link_libraries(Threads::Threads INTERFACE optimized ${PTHREAD_RELEASE_LIBRARY})
endif()
endif() endif()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment