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 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