CMake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake
Brad King 5695558f4a SDCC: Fix identification of current sdcc compiler
The sdcc compiler no longer defines the `SDCC` preprocessor macro.
Instead `__SDCC_VERSION_MAJOR` and similar component-wise macros are
defined.  Use them instead if defined.

Issue: #16746
2017-03-29 13:21:49 -04:00

17 lines
652 B
CMake

# sdcc, the small devices C compiler for embedded systems,
# http://sdcc.sourceforge.net */
set(_compiler_id_pp_test "defined(__SDCC_VERSION_MAJOR) || defined(SDCC)")
set(_compiler_id_version_compute "
# if defined(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MAJOR @MACRO_DEC@(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MINOR @MACRO_DEC@(__SDCC_VERSION_MINOR)
# define COMPILER_VERSION_PATCH @MACRO_DEC@(__SDCC_VERSION_PATCH)
# else
/* SDCC = VRP */
# define COMPILER_VERSION_MAJOR @MACRO_DEC@(SDCC/100)
# define COMPILER_VERSION_MINOR @MACRO_DEC@(SDCC/10 % 10)
# define COMPILER_VERSION_PATCH @MACRO_DEC@(SDCC % 10)
# endif")