On 10/22/2015 11:30 AM, Brad King wrote:
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
Ah, thank you very much. The attached patch fixes this.
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA/CoRA Division FAX: 303-415-9702
3380 Mitchell Lane or...@cora.nwra.com
Boulder, CO 80301 http://www.cora.nwra.com
diff -up plplot-5.11.1/cmake/modules/language_support/cmake/CMakeAdaInformation.cmake.cmake34 plplot-5.11.1/cmake/modules/language_support/cmake/CMakeAdaInformation.cmake
--- plplot-5.11.1/cmake/modules/language_support/cmake/CMakeAdaInformation.cmake.cmake34 2015-08-12 11:35:27.000000000 -0600
+++ plplot-5.11.1/cmake/modules/language_support/cmake/CMakeAdaInformation.cmake 2015-10-29 14:47:44.505370445 -0600
@@ -176,9 +176,13 @@ ENDIF(NOT CMAKE_Ada_CREATE_STATIC_LIBRAR
# compile a Ada file into an object file
IF(NOT CMAKE_Ada_COMPILE_OBJECT)
- SET(CMAKE_Ada_COMPILE_OBJECT
- "<CMAKE_Ada_COMPILER> <FLAGS> -c <SOURCE> -o <OBJECT>
- ")
+ 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()
ENDIF(NOT CMAKE_Ada_COMPILE_OBJECT)
# Constraints: GNAT_EXECUTABLE_BUILDER = gnatmake
diff -up plplot-5.11.1/cmake/test_ada/cmake_experimental/Modules/CMakeAdaInformation.cmake.cmake34 plplot-5.11.1/cmake/test_ada/cmake_experimental/Modules/CMakeAdaInformation.cmake
--- plplot-5.11.1/cmake/test_ada/cmake_experimental/Modules/CMakeAdaInformation.cmake.cmake34 2015-08-12 11:35:27.000000000 -0600
+++ plplot-5.11.1/cmake/test_ada/cmake_experimental/Modules/CMakeAdaInformation.cmake 2015-10-29 14:49:01.544790784 -0600
@@ -147,9 +147,13 @@ ENDIF(NOT CMAKE_Ada_CREATE_STATIC_LIBRAR
# compile a Ada file into an object file
IF(NOT CMAKE_Ada_COMPILE_OBJECT)
- SET(CMAKE_Ada_COMPILE_OBJECT
- "<CMAKE_Ada_COMPILER> <FLAGS> -c <SOURCE> -o <OBJECT>
- ")
+ 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()
ENDIF(NOT CMAKE_Ada_COMPILE_OBJECT)
# Constraints: GNAT_EXECUTABLE_BUILDER = gnatmake
diff -up plplot-5.11.1/cmake/test_ada/cmake_working/Modules/CMakeAdaInformation.cmake.cmake34 plplot-5.11.1/cmake/test_ada/cmake_working/Modules/CMakeAdaInformation.cmake
--- plplot-5.11.1/cmake/test_ada/cmake_working/Modules/CMakeAdaInformation.cmake.cmake34 2015-08-12 11:35:27.000000000 -0600
+++ plplot-5.11.1/cmake/test_ada/cmake_working/Modules/CMakeAdaInformation.cmake 2015-10-29 14:48:39.296954258 -0600
@@ -176,9 +176,13 @@ ENDIF(NOT CMAKE_Ada_CREATE_STATIC_LIBRAR
# compile a Ada file into an object file
IF(NOT CMAKE_Ada_COMPILE_OBJECT)
- SET(CMAKE_Ada_COMPILE_OBJECT
- "<CMAKE_Ada_COMPILER> <FLAGS> -c <SOURCE> -o <OBJECT>
- ")
+ 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()
ENDIF(NOT CMAKE_Ada_COMPILE_OBJECT)
# Constraints: GNAT_EXECUTABLE_BUILDER = gnatmake
------------------------------------------------------------------------------
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel