bitwiseworks / cmake-os2

Other
3 stars 1 forks source link

DEF generation is wrong for EXEs #2

Closed dmik closed 3 years ago

dmik commented 3 years ago

For an EXE target named "none", the DEF file generated by cmake will look like this:

NAME none
DESCRIPTION "@#cmake build system:0.0#@##1## 05 Apr 2021 15:09:34     novator::::0::@@none"

This will result into the following wlink error:

weakld: D:/Coding/qt5/qt5-dev-build/qtbase/tests/auto/cmake/build/test_import_plugins/none.def - error: Parse error 11 on line 1. (stmt=42)
weakld: error: Parse error 1 on line 11. (errorcode=42 stmt=7039341)
emxomfld: Invalid statement (line 1 of D:/Coding/qt5/qt5-dev-build/qtbase/tests/auto/cmake/build/test_import_plugins/none.def)

A fix is to put "none" in quotes as it seems to be a keyword or such and wlink barfs about that. This DEF works fine:

NAME "none"
DESCRIPTION "@#cmake build system:0.0#@##1## 05 Apr 2021 15:09:34     novator::::0::@@none"

A fix is to put this field in quotes then. Note that single quotes seems to also work fine.

The relevant commit introduced NAME to DEF is this: eb60524b911cb26fe6226462ae3a5e9632c630c7.

Found when working on bitwiseworks/qt5-os2#16.