diff options
-rw-r--r-- | lib/libshout-idjc/CMakeLists.txt | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/lib/libshout-idjc/CMakeLists.txt b/lib/libshout-idjc/CMakeLists.txt index ebcbe398b9..ddb179770e 100644 --- a/lib/libshout-idjc/CMakeLists.txt +++ b/lib/libshout-idjc/CMakeLists.txt @@ -43,24 +43,16 @@ cmake_push_check_state() # Ensure we have pthreads if(WIN32) - if (CMAKE_PREFIX_PATH) - list(GET CMAKE_PREFIX_PATH 0 PREFIX_PATH_INCLUDE) - file(TO_CMAKE_PATH ${PREFIX_PATH_INCLUDE} PREFIX_PATH_INCLUDE) - set(PREFIX_PATH_INCLUDE "${PREFIX_PATH_INCLUDE}/include") - list(APPEND CMAKE_REQUIRED_INCLUDES ${PREFIX_PATH_INCLUDE}) - endif() - set(PTW32_COMPILE_DEFINITIONS "-D__CLEANUP_C -D_TIMESPEC_DEFINED -D_USRDLL -D_MBCS -D_LIB -D_WIN32") - check_include_file(pthread.h HAVE_PTW32_H ${PTW32_COMPILE_DEFINITIONS}) - if (NOT HAVE_PTW32_H) - message (FATAL_ERROR "Building ${PROJECT_NAME} requires the pthread library and its development heraders") - endif () - find_library(PTHREAD_LIBRARY NAMES pthread) - message("PTHREAD_LIBRARY ${PTHREAD_LIBRARY}") - target_compile_definitions(${PROJECT_NAME} PRIVATE PTW32_STATIC_LIB __CLEANUP_C _TIMESPEC_DEFINED _USRDLL _MBCS _LIB _WIN32) + # vcpkg provides CMake targets for pthreads4w + # This won't work if pthreads4w was built without vcpkg. + find_package(pthreads REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE PThreads4W::PThreads4W) + + target_compile_definitions(${PROJECT_NAME} PRIVATE + __CLEANUP_C _TIMESPEC_DEFINED _USRDLL _MBCS _LIB _WIN32) if(STATIC_DEPS) target_compile_definitions(${PROJECT_NAME} PRIVATE PTW32_STATIC_LIB) endif() - target_link_libraries(${PROJECT_NAME} PRIVATE ${PTHREAD_LIBRARY}) else() set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) |