From 8f341a4a8eb2c66475b2190d7e0aa9c64578576c Mon Sep 17 00:00:00 2001 From: Roberts V <46485895+qqfq@users.noreply.github.com> Date: Wed, 7 Jan 2026 03:04:19 +0300 Subject: [PATCH 1/2] 3rdparty: include libkern/OSByteOrder.h on Darwin --- 3rdparty/byte_order.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/3rdparty/byte_order.hpp b/3rdparty/byte_order.hpp index 3ad52d5..dae0226 100644 --- a/3rdparty/byte_order.hpp +++ b/3rdparty/byte_order.hpp @@ -23,6 +23,7 @@ namespace xe { #define XENIA_BASE_BYTE_SWAP_32 _byteswap_ulong #define XENIA_BASE_BYTE_SWAP_64 _byteswap_uint64 #elif XE_PLATFORM_MAC +#include #define XENIA_BASE_BYTE_SWAP_16 OSSwapInt16 #define XENIA_BASE_BYTE_SWAP_32 OSSwapInt32 #define XENIA_BASE_BYTE_SWAP_64 OSSwapInt64 From e70c04716efe434f167e5de9e00d940b11fec78b Mon Sep 17 00:00:00 2001 From: Roberts V <46485895+qqfq@users.noreply.github.com> Date: Wed, 7 Jan 2026 03:08:37 +0300 Subject: [PATCH 2/2] fix: support latest ida-cmake --- CMakeLists.txt | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ec52bab..f810254 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,10 +9,10 @@ set(CMAKE_C_STANDARD 11) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maes") -include($ENV{IDASDK}/ida-cmake/common.cmake) +include($ENV{IDASDK}/ida-cmake/bootstrap.cmake) +find_package(idasdk REQUIRED) -set(LOADER_NAME idaxex) -set(LOADER_SOURCES +ida_add_loader(idaxex SOURCES idaloader.cpp idaloader_xbe.cpp namegen.cpp @@ -34,10 +34,19 @@ set(LOADER_SOURCES 3rdparty/XbSymbolDatabase/src/OOVPADatabase/Xapi_OOVPA.c 3rdparty/XbSymbolDatabase/src/OOVPADatabase/XGraphic_OOVPA.c 3rdparty/XbSymbolDatabase/src/OOVPADatabase/XNet_OOVPA.c - 3rdparty/XbSymbolDatabase/src/OOVPADatabase/XOnline_OOVPA.c -) -set(LOADER_INCLUDE_DIRECTORIES 3rdparty/excrypt/src 3rdparty/XbSymbolDatabase/include 3rdparty/XbSymbolDatabase/src/OOVPADatabase $ENV{IDASDK}/ldr/pe) -add_compile_definitions(IDALDR=1) + 3rdparty/XbSymbolDatabase/src/OOVPADatabase/XOnline_OOVPA.c) -generate() -disable_ida_warnings(idaxex) +target_include_directories(idaxex PUBLIC + 3rdparty/excrypt/src + 3rdparty/XbSymbolDatabase/include + 3rdparty/XbSymbolDatabase/src/OOVPADatabase + $ENV{IDASDK}/ldr/pe) +target_compile_definitions(idaxex PUBLIC IDALDR=1) + +if(CMAKE_SYSTEM_NAME MATCHES "Darwin") + target_compile_definitions(idaxex PUBLIC XE_PLATFORM_MAC=1) +endif() + +if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_compile_options(idaxex PUBLIC -Wno-non-pod-varargs) +endif() \ No newline at end of file