Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions src/MacMSRDriver/PcmMsr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,24 @@ add_executable(

set_target_properties(PcmMsrDriver PROPERTIES BUNDLE_EXTENSION kext MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/PcmMsr-Info.plist)

# For KEXT compilation on macOS, we must explicitly point to the Kernel frameworks within the SDK.
if(APPLE)
# Find the active macOS SDK path
execute_process(
COMMAND xcrun --sdk macosx --show-sdk-path
OUTPUT_VARIABLE MACOSX_SDK_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE XCRUN_RESULT
)
if(NOT XCRUN_RESULT EQUAL 0 OR NOT MACOSX_SDK_PATH)
message(FATAL_ERROR "Failed to find macOS SDK path using xcrun")
endif()
message(STATUS "Using SDK for KEXT: ${MACOSX_SDK_PATH}")
endif()

target_include_directories(PcmMsrDriver PRIVATE
${CMAKE_OSX_SYSROOT}/System/Library/Frameworks/Kernel.framework/PrivateHeaders
${CMAKE_OSX_SYSROOT}/System/Library/Frameworks/Kernel.framework/Headers
"${MACOSX_SDK_PATH}/System/Library/Frameworks/Kernel.framework/PrivateHeaders"
"${MACOSX_SDK_PATH}/System/Library/Frameworks/Kernel.framework/Headers"
)
target_compile_definitions(PcmMsrDriver PRIVATE
-DKERNEL
Expand Down
Loading