This compiler definition allows you to use OpenWatcom 2 from Linux or Windows.
- Windows NT (x86)
- 16-bit OS/2
- 32-bit OS/2
- DOS
- 32-bit DOS (using DOS/4GW)
- Linux (x86)
- 16-bit Windows: don't know how to make it work, patches welcome
- Windows for MIPS, PowerPC or Alpha: the compilers are there, but the libraries are not made, contribute to Open Watcom 2 to make it possible
- QNX: headers and libraries are copyright of BlackBerry Limited, ping them for opensourcing them (as they were for QNX 2 and QNX 4 probably not of much interest to them anymore?)
- NetWare: libraries are there but headers need to be installed separately, ping Micro Focus International for opensourcing them (as they abandoned NetWare long ago)
- Others: Watcom supported many targets over the ages and I don't know which others may just need some care to make them work
The most important step is to ensure that Watcom binaries are in the path. This depends on your exact installation but usually on Windows it is C:\WATCOM\BINNT64
and on Linux it is /opt/watcom/binl64
. Until JetBrains allow to specify APPENDING path members for a specific toolchain (tried with Environment Variables, no go) this is a must.
After this is done you need to add the compilers in Settings -> Build, Execution, Deployment -> Toolchains
and set up at least the C compiler and C++ compiler (they're the same) and at least in Windows (as there's no system make
to make CLion happy) also select wmake
(wmake.exe
).
Compiler for 16-bit targets: wcl
or wcl.exe
Compiler for 32-bit targets: wcl386
or wcl386.exe
Compiler for Alpha targets: wclaxp
or wclaxp.exe
DOESN'T INCLUDE C OR C++ LIBRARIES
Compiler for MIPS targets: wclmps
or wclmps.exe
DOESN'T INCLUDE C OR C++ LIBRARIES
Compiler for PowerPC targets: wclppc
or wclppc.exe
DOESN'T INCLUDE C OR C++ LIBRARIES
Then, for the project, you need to go Settings -> Build, Execution, Deployment -> CMake
and create the appropriate targets.
In each target set the following environment for Windows (change paths appropriately if installed in another location):
WATCOM=C:\WATCOM
INCLUDE=C:\WATCOM\H\;C:\WATCOM\H\NT\;C:\WATCOM\H\NT\DIRECTX\;C:\WATCOM\H\NT\DDK\;%INCLUDE%
or in Linux (change paths appropriately if installed in another location):
WATCOM=/opt/watcom
INCLUDE=/opt/watcom/lh
then in CMake options you need to set: -DCMAKE_SYSTEM_NAME=<system> -DCMAKE_SYSTEM_PROCESSOR=<arch> -G "Watcom WMake"
where <system>
is:
DOS
for DOSOS2
for OS/2Windows
for Windows and Windows NTLinux
for Linux
and <arch>
is:
I86
for 16-bitI386
for 32-bit- none for 32-bit or the others (untested)
The preprocessor macros have been a bestguess and may be severely incomplete, patches welcome!
2021 - Natalia Portillo Many thanks to Jiří Malák for keeping OpenWatcom alive!