Watcom: Introduce OpenWatcom compiler id and fix compiler version
Distinguish "Open Watcom" from old "Watcom" by introducing a new "OpenWatcom" compiler id. The __WATCOMC__ format is "VVRP" for Watcom and "VVRP + 1100" for Open Watcom.
This commit is contained in:
parent
9292d3b8a0
commit
5d9aa66c91
|
@ -68,10 +68,19 @@
|
|||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__WATCOMC__ % 100)
|
||||
# if __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# else
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
|
|
|
@ -73,10 +73,19 @@
|
|||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__WATCOMC__ % 100)
|
||||
# if __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# else
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
|
|
|
@ -374,10 +374,6 @@ if(WATCOM)
|
|||
string(REGEX MATCHALL "[0-9]+" _watcom_version_list "${_compiler_version}")
|
||||
list(GET _watcom_version_list 0 _watcom_major)
|
||||
list(GET _watcom_version_list 1 _watcom_minor)
|
||||
if(${_watcom_major} GREATER 11)
|
||||
math(EXPR _watcom_major "${_watcom_major} - 11")
|
||||
endif()
|
||||
math(EXPR _watcom_minor "${_watcom_minor} / 10")
|
||||
set( __install__libs
|
||||
${CompilerPath}/clbr${_watcom_major}${_watcom_minor}.dll
|
||||
${CompilerPath}/mt7r${_watcom_major}${_watcom_minor}.dll
|
||||
|
|
|
@ -93,16 +93,18 @@ if(NOT _CMAKE_WATCOM_VERSION)
|
|||
set(WATCOM17)
|
||||
set(WATCOM18)
|
||||
set(WATCOM19)
|
||||
if("${_compiler_version}" LESS 12.70)
|
||||
set(WATCOM16 1)
|
||||
endif()
|
||||
if("${_compiler_version}" EQUAL 12.70)
|
||||
set(WATCOM17 1)
|
||||
endif()
|
||||
if("${_compiler_version}" EQUAL 12.80)
|
||||
set(WATCOM18 1)
|
||||
endif()
|
||||
if("${_compiler_version}" EQUAL 12.90)
|
||||
set(WATCOM19 1)
|
||||
if("${_compiler_id}" STREQUAL "OpenWatcom")
|
||||
if("${_compiler_version}" VERSION_LESS 1.7)
|
||||
set(WATCOM16 1)
|
||||
endif()
|
||||
if("${_compiler_version}" VERSION_EQUAL 1.7)
|
||||
set(WATCOM17 1)
|
||||
endif()
|
||||
if("${_compiler_version}" VERSION_EQUAL 1.8)
|
||||
set(WATCOM18 1)
|
||||
endif()
|
||||
if("${_compiler_version}" VERSION_EQUAL 1.9)
|
||||
set(WATCOM19 1)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -715,7 +715,7 @@ std::string cmExtraCodeBlocksGenerator::GetCBCompilerId(const cmMakefile* mf)
|
|||
{
|
||||
compiler = "icc";
|
||||
}
|
||||
else if (compilerId == "Watcom")
|
||||
else if (compilerId == "Watcom" || compilerId == "OpenWatcom")
|
||||
{
|
||||
compiler = "ow";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue