[cmake-developers] Cmake contribution for Open Watcom (patch)

Brad King brad.king at kitware.com
Fri Feb 28 13:48:54 EST 2014


On 02/28/2014 12:57 PM, Jiri Malak wrote:
> I would like contribute to CMake for Open Watcom Toolchain.

Thanks!

I've integrated the first change for testing here:

 Watcom: Fix static library name quoting for wlib
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;hb=5c5be193

with one tweak:

> -set(CMAKE_CXX_CREATE_STATIC_LIBRARY  "wlib ${CMAKE_LIB_QUIET} -c -n -b '<TARGET_UNQUOTED>' <LINK_FLAGS> <OBJECTS> ")
> +set(CMAKE_CXX_CREATE_STATIC_LIBRARY  "wlib ${CMAKE_LIB_QUIET} -c -n -b <TARGET_QUOTED> <OBJECTS> ")

The <LINK_FLAGS> placeholder is still needed.  It gets the
STATIC_LIBRARY_FLAGS:

 http://www.cmake.org/cmake/help/v2.8.12/cmake.html#prop_tgt:STATIC_LIBRARY_FLAGS

The LinkFlags* tests revealed this when I tested locally.

FYI, you can run the test suite with the Open Watcom compiler
by configuring to build with another compiler but setting
CMAKE_TEST_GENERATOR and CMAKE_TEST_MAKEPROGRAM to be
"Watcom WMake" and "c:/path/to/wmake.exe", respectively.
Then after building, open a terminal in an environment set up
for Open Watcom and run "bin\ctest" to run the tests.  Add
options "-j 8" for parallel testing or "-R someregex" to
run a subset of tests or "-V" to see verbose test output.

In order to generalize support for this compiler to other
platforms the Platform/Windows-wcl386.cmake module will need
to be refactored into the modern way of dividing platform
information across multiple files.  See the

 Compiler/GNU.cmake
 Compiler/GNU-C.cmake
 Compiler/GNU-CXX.cmake
 Platform/Windows-GNU.cmake
 Platform/Windows-GNU-C.cmake
 Platform/Windows-GNU-CXX.cmake

files.  One might refactor Platform/Windows-wcl386.cmake into

 Compiler/Watcom.cmake
 Compiler/Watcom-C.cmake
 Compiler/Watcom-CXX.cmake
 Platform/Windows-Watcom.cmake
 Platform/Windows-Watcom-C.cmake
 Platform/Windows-Watcom-CXX.cmake

for example.

Thanks,
-Brad




More information about the cmake-developers mailing list