mirror of
https://gitee.com/fasiondog/hikyuu.git
synced 2024-11-30 02:48:57 +08:00
125 lines
2.7 KiB
C
125 lines
2.7 KiB
C
#pragma once
|
|
#ifndef HIKYUU_CONFIG_H_
|
|
#define HIKYUU_CONFIG_H_
|
|
|
|
#ifdef __APPLE__
|
|
#include <TargetConditionals.h>
|
|
#endif
|
|
|
|
/*
|
|
* CPU 架构宏定义
|
|
*/
|
|
#if defined(__arm__)
|
|
#define HKU_ARCH_ARM 1
|
|
#define HKU_ARCH_ARM64 0
|
|
#define HKU_ARCH_X86 0
|
|
#define HKU_ARCH_X64 0
|
|
#elif defined(__aarch64__)
|
|
#define HKU_ARCH_ARM 0
|
|
#define HKU_ARCH_ARM64 1
|
|
#define HKU_ARCH_X86 0
|
|
#define HKU_ARCH_X64 0
|
|
#elif defined(__x86_64__) || defined(_WIN64)
|
|
#define HKU_ARCH_ARM 0
|
|
#define HKU_ARCH_ARM64 0
|
|
#define HKU_ARCH_X86 0
|
|
#define HKU_ARCH_X64 1
|
|
#elif defined(__i386__) || defined(_WIN32)
|
|
#define HKU_ARCH_ARM 0
|
|
#define HKU_ARCH_ARM64 0
|
|
#define HKU_ARCH_X86 1
|
|
#define HKU_ARCH_X64 0
|
|
#else
|
|
#define HKU_ARCH_ARM 0
|
|
#define HKU_ARCH_ARM64 0
|
|
#define HKU_ARCH_X86 0
|
|
#define HKU_ARCH_X64 0
|
|
#endif
|
|
|
|
/*
|
|
* 操作系统宏定义
|
|
*/
|
|
#if defined(_WIN32) || defined(_WIN64)
|
|
#define HKU_OS_WINOWS 1
|
|
#define HKU_OS_LINUX 0
|
|
#define HKU_OS_ANDROID 0
|
|
#define HKU_OS_OSX 0
|
|
#define HKU_OS_IOS 0
|
|
#elif defined(__ANDROID__)
|
|
#define HKU_OS_WINOWS 0
|
|
#define HKU_OS_LINUX 0
|
|
#define HKU_OS_ANDROID 1
|
|
#define HKU_OS_OSX 0
|
|
#define HKU_OS_IOS 0
|
|
#elif defined(__linux__)
|
|
#define HKU_OS_WINOWS 0
|
|
#define HKU_OS_LINUX 1
|
|
#define HKU_OS_ANDROID 0
|
|
#define HKU_OS_OSX 0
|
|
#define HKU_OS_IOS 0
|
|
#elif TARGET_OS_OSX
|
|
#define HKU_OS_WINOWS 0
|
|
#define HKU_OS_LINUX 0
|
|
#define HKU_OS_ANDROID 0
|
|
#define HKU_OS_OSX 1
|
|
#define HKU_OS_IOS 0
|
|
#elif TARGET_OS_IOS || TARGET_OS_IPHONE
|
|
#define HKU_OS_WINOWS 0
|
|
#define HKU_OS_LINUX 0
|
|
#define HKU_OS_ANDROID 0
|
|
#define HKU_OS_OSX 0
|
|
#define HKU_OS_IOS 1
|
|
#else
|
|
#define HKU_OS_WINOWS 0
|
|
#define HKU_OS_LINUX 0
|
|
#define HKU_OS_ANDROID 0
|
|
#define HKU_OS_OSX 0
|
|
#define HKU_OS_IOS 0
|
|
#endif
|
|
|
|
// IOS 模拟器
|
|
#if HKU_OS_IOS && TARGET_OS_SIMULATOR
|
|
#define HKU_OS_IOS_SIMULATOR 1
|
|
#else
|
|
#define HKU_OS_IOS_SIMULATOR 0
|
|
#endif
|
|
|
|
// ARM NEON 优化
|
|
#if HKU_OS_ANDROID && HKU_ARCH_ARM64
|
|
#define HKU_ENBALE_NEON 0
|
|
#else
|
|
#define HKU_ENBALE_NEON 0
|
|
#endif
|
|
|
|
// clang-format off
|
|
|
|
// support serialization
|
|
#define HKU_SUPPORT_SERIALIZATION ${SUPPORT_SERIALIZATION}
|
|
|
|
#if HKU_SUPPORT_SERIALIZATION
|
|
#define HKU_SUPPORT_TEXT_ARCHIVE ${SUPPORT_TEXT_ARCHIVE}
|
|
#define HKU_SUPPORT_XML_ARCHIVE ${SUPPORT_XML_ARCHIVE} //must 1 for python
|
|
#define HKU_SUPPORT_BINARY_ARCHIVE ${SUPPORT_BINARY_ARCHIVE} //must 1 for python
|
|
#endif /* HKU_SUPPORT_SERIALIZATION*/
|
|
|
|
// 检查下标越界
|
|
#define CHECK_ACCESS_BOUND ${CHECK_ACCESS_BOUND}
|
|
|
|
// 默认激活的日志级别
|
|
#define LOG_ACTIVE_LEVEL ${LOG_ACTIVE_LEVEL}
|
|
|
|
// 是否使用 spdlog
|
|
#define USE_SPDLOG_LOGGER ${USE_SPDLOG_LOGGER}
|
|
|
|
// 使用异步 logger
|
|
#define HKU_USE_SPDLOG_ASYNC_LOGGER ${USE_SPDLOG_ASYNC_LOGGER}
|
|
|
|
// spdlog默认日志级别
|
|
#define SPDLOG_ACTIVE_LEVEL ${LOG_ACTIVE_LEVEL}
|
|
|
|
// 关闭 HKU_ASSERT
|
|
#define HKU_DISABLE_ASSERT ${HKU_DISABLE_ASSERT}
|
|
|
|
// clang-format on
|
|
|
|
#endif /* HIKYUU_CONFIG_H_ */ |