[Chapel Merge] fix(C-interop): fix cmake interop failure in some

Branch: refs/heads/main
Revision: 46a3897
Author: arezaii
Link: fix(C-interop): fix cmake interop failure in some cases by arezaii · Pull Request #20490 · chapel-lang/chapel · GitHub
Log Message:

Merge pull request #20490 from arezaii/cmakelists-interop-fix

fix(C-interop): fix cmake interop failure in some cases

This PR adds translation of make to cmake style variables
to the .cmake files written by our cmake library interop
code generation.

  • Previously, if getCompilelineOption returned a path that included
    an env var, it was formatted as make would expect, e.g., $(FOO).
    cmake doesn't read that correctly and expects ${FOO}, so in
    some environments the interop would fail to build a valid
    MyLibraryName.cmake file. This change adds a call to
    makeToCMake when writing the .cmake file lines for
    CHPL_COMPILER, CHPL_LINKER and CHPL_LINKERSHARED

TESTING:

  • paratest

reviewed by @mppf - thank you!

Signed-off-by: arezaii ahmad.rezaii@hpe.com

Modified Files:
M compiler/codegen/library.cpp

Compare: https://github.com/chapel-lang/chapel/compare/f3d7234876e7...46a38979623f