CMake: Only find pthread and mman on Windows once

This reduces a lot of CMake spam when configuring
This commit is contained in:
Andrew Kaster 2025-05-11 19:36:11 -06:00 committed by Andrew Kaster
commit a6d9e8acd8
Notes: github-actions[bot] 2025-05-12 09:23:26 +00:00

View file

@ -204,6 +204,11 @@ install(
COMPONENT Lagom_Development COMPONENT Lagom_Development
) )
if (WIN32)
find_package(pthread REQUIRED)
find_package(mman REQUIRED)
endif()
function(lagom_lib target_name fs_name) function(lagom_lib target_name fs_name)
cmake_parse_arguments(LAGOM_LIBRARY "EXPLICIT_SYMBOL_EXPORT" "LIBRARY_TYPE" "SOURCES;LIBS" ${ARGN}) cmake_parse_arguments(LAGOM_LIBRARY "EXPLICIT_SYMBOL_EXPORT" "LIBRARY_TYPE" "SOURCES;LIBS" ${ARGN})
string(REPLACE "Lib" "" library ${target_name}) string(REPLACE "Lib" "" library ${target_name})
@ -226,11 +231,9 @@ function(lagom_lib target_name fs_name)
endif() endif()
if (WIN32) if (WIN32)
find_package(pthread REQUIRED)
target_include_directories(${target_name} PRIVATE ${PTHREAD_INCLUDE_DIR}) target_include_directories(${target_name} PRIVATE ${PTHREAD_INCLUDE_DIR})
target_link_libraries(${target_name} PRIVATE ${PTHREAD_LIBRARY}) target_link_libraries(${target_name} PRIVATE ${PTHREAD_LIBRARY})
find_package(mman REQUIRED)
target_include_directories(${target_name} PRIVATE ${MMAN_INCLUDE_DIR}) target_include_directories(${target_name} PRIVATE ${MMAN_INCLUDE_DIR})
target_link_libraries(${target_name} PRIVATE ${MMAN_LIBRARY}) target_link_libraries(${target_name} PRIVATE ${MMAN_LIBRARY})
endif() endif()