Hi Ben: You know this already from our off-list discussion, but for other's here, the PLplot's ancient fork of the cmaked project works well for gdc, but is completely broken (doesn't even compile a test example) with dmd on my Linux (Debian Buster) platform. So I have been trying the [cmake-d](https://github.com/dcarp/cmake-d) project (suitably patched for PLplot needs) instead for our D language support. That support currently works well for gdc, and also *almost* works well for dmd (and probably ldc as well although I am concentrating on the dmd case at the moment).
The remaining issues for cmake-d appear to be 1. # "D" version: set(CMAKE_LIBRARY_PATH_FLAG "-L-L") set(CMAKE_LINK_LIBRARY_FLAG "-L-l") for the dmd and also the ldc cases. This conflicts with support for our other languages on Linux which sets # "C" version set(CMAKE_LIBRARY_PATH_FLAG "-L") set(CMAKE_LINK_LIBRARY_FLAG "-l") 2. Libraries linked by full pathname cannot be linked properly by dmd and lcd (since they both need an "-L" prefix to such pathnames to pass those to the linker). I took a look at [another D support project that you recommended to me off list](https://github.com/trentforkert/cmake/) that project contained the following commit: Author: Ben Boeckel <maths...@gmail.com> Date: Tue Apr 15 00:21:15 2014 -0400 linking: Support language-specific link flags Adds support for the following variables: * CMAKE_<LANG>_LINK_LIBRARY_FLAG * CMAKE_<LANG>_LINK_LIBRARY_FILE_FLAG * CMAKE_<LANG>_LINK_LIBRARY_SUFFIX * CMAKE_<LANG>_LINK_PATH_FLAG * CMAKE_<LANG>_LINK_PATH_TERMINATOR so that compilers with different flags can be used in the same build. M Help/manual/cmake-variables.7.rst A Help/variable/CMAKE_LANG_LIBRARY_PATH_FLAG.rst A Help/variable/CMAKE_LANG_LINK_LIBRARY_FILE_FLAG.rst A Help/variable/CMAKE_LANG_LINK_LIBRARY_FLAG.rst A Help/variable/CMAKE_LANG_LINK_LIBRARY_SUFFIX.rst M Source/cmComputeLinkInformation.cxx M Source/cmLocalGenerator.cxx It appears from those documentation files that this commit would help to solve both issues 1. and 2. above. Therefore, my planned next step is to rebase that commit on the upstream cmake master branch, and test that patched upstream result to see if those limited internal CMake changes allow fixing (with minor patching of cmake-d files) all remaining cmake-d issues for the PLplot use case. More later as the above plan unfolds.... Alan __________________________ Alan W. Irwin Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake