66 lines
2.6 KiB
C
66 lines
2.6 KiB
C
#pragma once
|
|
|
|
/** build year as number */
|
|
#define COMPUTE_BUILD_YEAR \
|
|
( \
|
|
(__DATE__[ 7] - '0') * 1000 + \
|
|
(__DATE__[ 8] - '0') * 100 + \
|
|
(__DATE__[ 9] - '0') * 10 + \
|
|
(__DATE__[10] - '0') \
|
|
)
|
|
/** build day as number */
|
|
#define COMPUTE_BUILD_DAY \
|
|
( \
|
|
((__DATE__[4] >= '0') ? (__DATE__[4] - '0') * 10 : 0) + \
|
|
(__DATE__[5] - '0') \
|
|
)
|
|
/** check if build month is January */
|
|
#define BUILD_MONTH_IS_JAN (__DATE__[0] == 'J' && __DATE__[1] == 'a' && __DATE__[2] == 'n')
|
|
/** check if build month is February */
|
|
#define BUILD_MONTH_IS_FEB (__DATE__[0] == 'F')
|
|
/** check if build month is March */
|
|
#define BUILD_MONTH_IS_MAR (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'r')
|
|
/** check if build month is April */
|
|
#define BUILD_MONTH_IS_APR (__DATE__[0] == 'A' && __DATE__[1] == 'p')
|
|
/** check if build month is May */
|
|
#define BUILD_MONTH_IS_MAY (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'y')
|
|
/** check if build month is June */
|
|
#define BUILD_MONTH_IS_JUN (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'n')
|
|
/** check if build month is July */
|
|
#define BUILD_MONTH_IS_JUL (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'l')
|
|
/** check if build month is August */
|
|
#define BUILD_MONTH_IS_AUG (__DATE__[0] == 'A' && __DATE__[1] == 'u')
|
|
/** check if build month is September */
|
|
#define BUILD_MONTH_IS_SEP (__DATE__[0] == 'S')
|
|
/** check if build month is October */
|
|
#define BUILD_MONTH_IS_OCT (__DATE__[0] == 'O')
|
|
/** check if build month is November */
|
|
#define BUILD_MONTH_IS_NOV (__DATE__[0] == 'N')
|
|
/** check if build month is December */
|
|
#define BUILD_MONTH_IS_DEC (__DATE__[0] == 'D')
|
|
/** build month as number */
|
|
#define COMPUTE_BUILD_MONTH \
|
|
( \
|
|
(BUILD_MONTH_IS_JAN) ? 1 : \
|
|
(BUILD_MONTH_IS_FEB) ? 2 : \
|
|
(BUILD_MONTH_IS_MAR) ? 3 : \
|
|
(BUILD_MONTH_IS_APR) ? 4 : \
|
|
(BUILD_MONTH_IS_MAY) ? 5 : \
|
|
(BUILD_MONTH_IS_JUN) ? 6 : \
|
|
(BUILD_MONTH_IS_JUL) ? 7 : \
|
|
(BUILD_MONTH_IS_AUG) ? 8 : \
|
|
(BUILD_MONTH_IS_SEP) ? 9 : \
|
|
(BUILD_MONTH_IS_OCT) ? 10 : \
|
|
(BUILD_MONTH_IS_NOV) ? 11 : \
|
|
(BUILD_MONTH_IS_DEC) ? 12 : \
|
|
/* error default */ 99 \
|
|
)
|
|
/** check if build date is unknown */
|
|
#define BUILD_DATE_IS_BAD (__DATE__[0] == '?')
|
|
/** build year as number if known, or 0 if unknown */
|
|
#define BUILD_YEAR ((BUILD_DATE_IS_BAD) ? 0 : COMPUTE_BUILD_YEAR)
|
|
/** build month as number if known, or 0 if unknown */
|
|
#define BUILD_MONTH ((BUILD_DATE_IS_BAD) ? 99 : COMPUTE_BUILD_MONTH)
|
|
/** build day as number if known, or 0 if unknown */
|
|
#define BUILD_DAY ((BUILD_DATE_IS_BAD) ? 99 : COMPUTE_BUILD_DAY)
|