File: install-ada-project.diff

package info (click to toggle)
plplot 5.15.0%2Bdfsg2-19
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 31,484 kB
  • sloc: ansic: 79,703; xml: 28,583; cpp: 20,033; ada: 19,456; tcl: 12,081; f90: 11,431; ml: 7,276; java: 6,863; python: 6,792; sh: 3,274; perl: 828; lisp: 75; makefile: 74; sed: 34; fortran: 6
file content (52 lines) | stat: -rw-r--r-- 2,102 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Description: install a convenience GNAT project for the Ada binding
 It is more and more common to build Ada sources with gprbuild.
Author: Nicolas Boulenguez <nicolas@debian.org>
Forwarded: https://sourceforge.net/p/plplot/mailman/message/37743447/
Reviewed-By: Rafael Laboissière <rafael@debian.org>
Last-Update: 2022-11-30

--- a/bindings/ada/CMakeLists.txt
+++ b/bindings/ada/CMakeLists.txt
@@ -144,4 +144,9 @@
   # See remarks above concerning why plplot has to be public.
   pkg_config_file("ada" "Ada" " Ada binding" "plplotada" "" "${GNAT_LIB}" "-lplplot")
 
+  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/plplotada.gpr.in
+                 ${CMAKE_CURRENT_BINARY_DIR}/plplotada.gpr)
+  install(FILES       ${CMAKE_CURRENT_BINARY_DIR}/plplotada.gpr
+          DESTINATION ${GNAT_PROJECT_DIR})
+
 endif(ENABLE_ada)
--- /dev/null
+++ b/bindings/ada/plplotada.gpr.in
@@ -0,0 +1,11 @@
+library project Plplotada is
+   for Library_Name use "plplotada";
+   for Library_Kind use "dynamic";
+   for Source_Dirs use ("/@ADA_INCLUDE_DIR@");
+   for Library_Ali_Dir use "/@ADA_LIB_DIR@";
+   for Library_Dir use "/@CMAKE_INSTALL_LIBDIR@";
+   for Externally_Built use "true";
+   package Linker is
+     for Linker_Options use ("-lplplot");
+   end Linker;
+end Plplotada;
--- a/cmake/modules/ada.cmake
+++ b/cmake/modules/ada.cmake
@@ -65,6 +65,16 @@
     )
   list(APPEND INSTALL_LOCATION_VARIABLES_LIST ADA_LIB_DIR)
 
+  # This default is one of the default gnat search paths, but not the
+  # most common one (DATADIR/gpr) because we expect the project to
+  # contain architecture-specific contents, namely ADA_LIB_DIR.
+  set(
+    GNAT_PROJECT_DIR
+    ${CMAKE_INSTALL_LIBDIR}/gnat
+    CACHE PATH "PLplot install location for GNAT projects (*.gpr)"
+    )
+  list(APPEND INSTALL_LOCATION_VARIABLES_LIST GNAT_PROJECT_DIR)
+
   # Find the gnat version used in order to search for the right version of libgnat
   execute_process(COMMAND ${CMAKE_Ada_COMPILER} --version OUTPUT_VARIABLE ADA_OUTPUT)
   string(REGEX MATCH "gcc.* [(][^)]*[)] ([0-9]*)([.][0-9]*)[.][0-9]" ADA_OUTPUT_TRIM ${ADA_OUTPUT})