Skip to content

Conversation

@darren
Copy link
Contributor

@darren darren commented Dec 6, 2025

The KEXT (PcmMsrDriver) build failed on macOS because it could not find kernel headers like <IOKit/IOLib.h>. This was caused by CMake incorrectly resolving include paths to /System/Library/... instead of the correct path inside the macOS SDK.

This commit fixes the issue by localizing the solution to the KEXT's CMakeLists.txt. It now dynamically detects the active macOS SDK path using xcrun and uses it to construct absolute include paths for the KEXT target only.

This ensures the KEXT can find its required kernel headers without affecting other user-space targets that may depend on libraries from standard locations like Homebrew.

Close: #928

The KEXT (PcmMsrDriver) build failed on macOS because it could not
find kernel headers like `<IOKit/IOLib.h>`. This was caused by CMake
incorrectly resolving include paths to `/System/Library/...` instead of
the correct path inside the macOS SDK.

This commit fixes the issue by localizing the solution to the KEXT's
`CMakeLists.txt`. It now dynamically detects the active macOS SDK path
using `xcrun` and uses it to construct absolute include paths for the
KEXT target only.

This ensures the KEXT can find its required kernel headers without
affecting other user-space targets that may depend on libraries from
standard locations like Homebrew.

Close: #928
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a build failure in the macOS Kernel Extension (KEXT) by correcting how CMake locates kernel headers. The previous code used CMAKE_OSX_SYSROOT which could incorrectly resolve to /System/Library/... instead of the SDK path. The fix dynamically detects the active macOS SDK using xcrun --show-sdk-path and constructs absolute include paths specific to the KEXT target.

  • Adds SDK path detection using xcrun --sdk macosx --show-sdk-path
  • Updates include directories to use the detected SDK path instead of CMAKE_OSX_SYSROOT
  • Localizes the fix to the KEXT's CMakeLists.txt without affecting other targets

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Contributor

@opcm opcm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks a lot!

@opcm opcm merged commit 53c0066 into intel:master Dec 6, 2025
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build fails on the latest MacOS 15.4. Probably some changes to IOKit

2 participants