[CMake] [ANNOUNCE] CMake 3.4.0-rc1 is now ready!

Brad King brad.king at kitware.com
Thu Oct 22 13:30:32 EDT 2015


On 10/22/2015 11:28 AM, Orion Poplawski wrote:
>>> This appears to have broken plplot's ada build on Fedora.
> 
> FYI - builds still fail with cmake 3.4.0-rc2.  Have had time to look at it
> closer.  plplot issue seems to be triggered by a change in Ada_FLAGS:
> 
> -Ada_FLAGS =
> -I/home/orion/fedora/plplot/plplot-5.11.1/build-3.3.2/examples/ada
> -I/home/orion/fedora/plplot/plplot-5.11.1/bindings/ada
> +Ada_FLAGS =
> 
> but plplot I believe has custom Ada cmake platform support.  I am still
> concerned about possible regressions here.

Plplot's Ada support uses CMake internal APIs so it is plplot's
responsibility to adapt to our changes:

 https://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/CMakeAddNewLanguage.txt;hb=v3.4.0-rc2
 Maintainers of external language support are responsible for porting
 it to each version of CMake as upstream changes are made.

Our 3.4.0-rc2 release notes point out a change likely causing this problem:

 https://cmake.org/gitweb?p=cmake.git;a=blob;f=Help/release/3.4.rst;hb=v3.4.0-rc2#l271
 * The internal "CMAKE_<LANG>_COMPILE_OBJECT" rule variable now
   substitutes compiler include flags in a separate "<INCLUDES>"
   placeholder instead of the main "<FLAGS>" placeholder.

Where Plplot currently writes:

  SET(CMAKE_Ada_COMPILE_OBJECT
    "<CMAKE_Ada_COMPILER> <FLAGS> -c <SOURCE> -o <OBJECT>
    ")

try:

  if(NOT CMAKE_VERSION VERSION_LESS 3.4)
    set(CMAKE_Ada_COMPILE_OBJECT
      "<CMAKE_Ada_COMPILER> <INCLUDES> <FLAGS> -c <SOURCE> -o <OBJECT>")
  else()
    set(CMAKE_Ada_COMPILE_OBJECT
      "<CMAKE_Ada_COMPILER> <FLAGS> -c <SOURCE> -o <OBJECT>")
  endif()

-Brad



More information about the CMake mailing list