Skip to content

Commit 8a04465

Browse files
authored
Merge pull request #1052 from PatKamin/static-hwloc-macos
Test static hwloc build on macOS
2 parents d91c774 + 4a3cd18 commit 8a04465

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

.github/workflows/reusable_basic.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,9 @@ jobs:
453453
strategy:
454454
matrix:
455455
os: ['macos-13', 'macos-14']
456+
include:
457+
- os: macos-14
458+
static_hwloc: '-DUMF_LINK_HWLOC_STATICALLY=ON'
456459
env:
457460
BUILD_TYPE : "Release"
458461
runs-on: ${{matrix.os}}
@@ -471,8 +474,12 @@ jobs:
471474
echo "$PATH" >> $GITHUB_PATH
472475
python3 -m pip install -r third_party/requirements.txt
473476
477+
- name: Install dependencies
478+
run: brew install jemalloc tbb automake libtool
479+
474480
- name: Install hwloc
475-
run: brew install hwloc tbb automake
481+
if: ${{ !matrix.static_hwloc }}
482+
run: brew install hwloc
476483

477484
- name: Get UMF version
478485
run: |
@@ -492,6 +499,7 @@ jobs:
492499
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
493500
-DUMF_BUILD_SHARED_LIBRARY=ON
494501
-DUMF_TESTS_FAIL_ON_SKIP=ON
502+
${{matrix.static_hwloc}}
495503
496504
- name: Build UMF
497505
run: cmake --build ${{env.BUILD_DIR}} -j $(sysctl -n hw.logicalcpu)

src/CMakeLists.txt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (C) 2023-2024 Intel Corporation
1+
# Copyright (C) 2023-2025 Intel Corporation
22
# Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
33
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44

@@ -182,6 +182,18 @@ add_dependencies(umf coarse)
182182

183183
if(UMF_LINK_HWLOC_STATICALLY)
184184
add_dependencies(umf ${UMF_HWLOC_NAME})
185+
# On Darwin, link with the IOKit and Foundation frameworks, if they are
186+
# available in the system. This is to comply with hwloc which links these,
187+
# if available. There is no option to disable these frameworks on Darwin
188+
# hwloc builds.
189+
if(MACOSX)
190+
find_library(IOKIT_LIBRARY IOKit)
191+
find_library(FOUNDATION_LIBRARY Foundation)
192+
if(IOKIT_LIBRARY OR FOUNDATION_LIBRARY)
193+
target_link_libraries(umf PRIVATE ${IOKIT_LIBRARY}
194+
${FOUNDATION_LIBRARY})
195+
endif()
196+
endif()
185197
endif()
186198

187199
if(NOT WINDOWS AND UMF_POOL_JEMALLOC_ENABLED)

0 commit comments

Comments
 (0)