On Tue, Feb 10, 2015 at 21:48:39 -0800, Alan W. Irwin wrote:
> Sorry, but I still think the general Ninja problems with Fortran are
> orthogonal to this general language support issue.  Or are you
> implying that enable_language(OPTIONAL) works for Ninja now for all
> languages other than Fortran?

No, I didn't have OPTIONAL at all. All the branch does is move the error
case from "I need/want Fortran" to "I'm building this Fortran source
file".

> I frankly don't understand this comment at all. I am sure you would
> agree with me that CMake has complete knowledge of how to build
> applications and libraries with a wide variety of compilers.  So I
> probably just completely missed your point.

CMake doesn't have any support for getting proper dependencies from Ada
for example. So while you could use add_custom_command to *build* Ada
files, build-time dependency scanning for things like #include or import
without a reconfigure aren't supported. Supporting a language is more
than just providing rules to build files of that type.

> Agreed.  It's probably an extremely tedious task to go through all the
> code paths (including all generators and all compiled languages) for
> modern CMake language support that are executed by the
> enable_language(... OPTIONAL) command, and change all potential CMake
> error exits to warnings for that case.  And I don't have the C++ skill
> or knowledge of CMake internals to help out with this tedious task
> myself.  So I completely understand why a fix for bug 9220 has still not been
> accomplished after all these years.  But it sure is a "would be nice".

A sketch for anyone interested (probably still not complete, but it's
things to look for):

  - change cmGlobalGenerator::EnableLanguage to return a bool;
  - add CMAKE_<LANG>_FOUND variables to indicate support for a language
    is available;
  - trigger an error when build rules for an unsupported language are
    encountered.

The patch I referenced basically does the last bit for Ninja+Fortran.

--Ben
-- 

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:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to