Ravenports generated: 17 Jun 2021 23:09
[ravenports.git] / bucket_B9 / pgplot
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               pgplot
4 VERSION=                5.2.2
5 REVISION=               2
6 KEYWORDS=               graphics
7 VARIANTS=               standard
8 SDESC[standard]=        FORTRAN/C scientific graphic library
9 HOMEPAGE=               https://www.astro.caltech.edu/~tjp/pgplot/
10 CONTACT=                nobody
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            ftp://ftp.astro.caltech.edu/pub/pgplot/
14 DISTFILE[1]=            pgplot522.tar.gz:main
15 DF_INDEX=               1
16 SPKGS[standard]=        complete
17                         primary
18                         docs
19                         examples
20
21 OPTIONS_AVAILABLE=      none
22 OPTIONS_STANDARD=       none
23
24 USES=                   png shebangfix perl:build cmake fortran:examples
25 XORG_COMPONENTS=        x11 xt
26
27 DISTNAME=               pgplot
28
29 LICENSE=                CUSTOM1:primary
30 LICENSE_NAME=           CUSTOM1:"PGPLOT License"
31 LICENSE_FILE=           CUSTOM1:{{WRKSRC}}/copyright.notice
32 LICENSE_SCHEME=         solo
33
34 FPC_EQUIVALENT=         graphics/pgplot
35 SHEBANG_FILES=          makehtml
36                         maketex
37 SHEBANG_OLD_PERL=       /usr/local/bin/perl
38
39 CFLAGS=                 -Wno-implicit-function-declaration
40
41 post-patch:
42         ${REINPLACE_CMD} -e 's|png_ptr->jmpbuf|png_jmpbuf(png_ptr)|' \
43                 ${WRKSRC}/drivers/pndriv.c
44         ${REINPLACE_CMD} -e 's|/usr/local/pgplot|${PREFIX}/share/pgplot|g' \
45                 ${WRKSRC}/src/grgfil.f
46
47 post-install:
48         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/pg*
49         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*.so
50         ${STRIP_CMD} ${STAGEDIR}${STD_EXAMPLESDIR}/*pgdemo*
51
52 post-extract:
53         ${CP} ${FILESDIR}/grexec.f ${WRKSRC}/sys/
54         ${CP} ${FILESDIR}/CMakeLists.txt ${WRKSRC}/
55 .for d in drivers pgdispd fonts src sys examples
56         ${CP} ${FILESDIR}/${d}_CMakeLists.txt ${WRKSRC}/${d}/CMakeLists.txt
57 .endfor
58
59 post-patch-sunos:
60         (cd ${WRKSRC} && \
61                 ${REINPLACE_CMD} -e '/define.*_POSIX_SOURCE/d' \
62                 drivers/pgxwin_server.c\
63                 drivers/xwdriv.c\
64                 drivers/cgdriv.c\
65                 sys/grgetc.c\
66                 sys/grtermio.c\
67                 sys_cray/grtermio.c\
68                 sys_cray/grgetc.c\
69         )
70
71 [FILE:408:descriptions/desc.primary]
72 PGPLOT is a Fortran subroutine package for drawing graphs on a variety
73 of display devices. For more details, see the manual ``PGPLOT Graphics
74 Subroutine Library'', available from T. J. Pearson.
75
76 The CPGPLOT library adds an intermediate level of wrapper functions
77 between C programs and the PGPLOT library. These functions hide the
78 system dependencies of calling PGPLOT behind a system independent
79 interface.
80
81
82 [FILE:95:distinfo]
83 a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4      1197397 pgplot522.tar.gz
84
85
86 [FILE:164:manifests/plist.primary]
87 bin/
88  pgdisp
89  pgxwin_server
90 include/cpgplot.h
91 lib/
92  libcpgplot.a
93  libcpgplot.so
94  libcpgplot.so.5
95  libpgplot.a
96  libpgplot.so
97  libpgplot.so.5
98 share/pgplot/grfont.dat
99
100
101 [FILE:101:manifests/plist.docs]
102 share/doc/pgplot/
103  cpgplot.doc
104  pgplot-routines.tex
105  pgplot.doc
106  pgplot.html
107  readme.pgdisp
108  rgb.txt
109
110
111 [FILE:193:manifests/plist.examples]
112 share/examples/pgplot/
113  cpgdemo
114  pgdemo1
115  pgdemo10
116  pgdemo11
117  pgdemo12
118  pgdemo13
119  pgdemo14
120  pgdemo15
121  pgdemo16
122  pgdemo17
123  pgdemo2
124  pgdemo3
125  pgdemo4
126  pgdemo5
127  pgdemo6
128  pgdemo7
129  pgdemo8
130  pgdemo9
131
132
133 [FILE:1127:patches/patch-64bit-drivers]
134 --- drivers/gidriv.f.orig       1998-05-13 21:05:05.000000000 -0400
135 +++ drivers/gidriv.f    2011-12-07 16:57:04.000000000 -0500
136 @@ -78,7 +78,7 @@
137  C Note: for 64-bit operating systems, change the following 
138  C declaration to INTEGER*8:
139  C
140 -      INTEGER PIXMAP, WORK
141 +      INTEGER*8 PIXMAP, WORK
142  C
143        SAVE UNIT, IC, CTABLE, NPICT, MAXIDX, BX, BY, PIXMAP, FILENM
144        SAVE CDEFLT, STATE
145 --- drivers/ppdriv.f.orig       1998-05-13 21:04:29.000000000 -0400
146 +++ drivers/ppdriv.f    2011-12-07 16:57:39.000000000 -0500
147 @@ -68,7 +68,7 @@
148  C Note: for 64-bit operating systems, change the following 
149  C declaration to INTEGER*8:
150  C
151 -      INTEGER PIXMAP
152 +      INTEGER*8 PIXMAP
153  C
154        SAVE    UNIT, IC, CVAL, CTABLE, BX, BY, PIXMAP, NPICT, CDEFLT
155        SAVE    STATE
156 --- drivers/wddriv.f.orig       1998-05-13 21:03:53.000000000 -0400
157 +++ drivers/wddriv.f    2011-12-07 16:56:29.000000000 -0500
158 @@ -61,7 +61,7 @@
159  C Note: for 64-bit operating systems, change the following 
160  C declaration to INTEGER*8:
161  C
162 -      INTEGER PIXMAP
163 +      INTEGER*8 PIXMAP
164  C
165        SAVE UNIT, IC, CTABLE, NPICT, MAXIDX, BX, BY, PIXMAP, FILENM
166        SAVE CDEFLT, STATE
167
168
169 [FILE:684:patches/patch-pgdispd_figcurs.c]
170 --- pgdispd/figcurs.c.orig      1993-11-29 19:55:24 UTC
171 +++ pgdispd/figcurs.c
172 @@ -21,6 +21,7 @@
173  #include <stdio.h>
174  #include <sys/types.h>
175  #include <netinet/in.h>
176 +#include <stdlib.h>
177  
178  /* The X Window include files */
179  #include <X11/Xlib.h>
180 @@ -113,8 +114,6 @@ XEvent event;
181         void getbuttonval();
182         int getkeyval();
183  
184 -       char *malloc();
185 -
186         if (event.type == ButtonPress) getbuttonval(event.xbutton.button, &val);
187         else if (!getkeyval(event, &val)) return(1);
188  
189 @@ -167,8 +166,6 @@ XEvent event;
190         void getbuttonval();
191         int getkeyval();
192  
193 -       char *malloc();
194 -
195         if (event.type == ButtonPress) getbuttonval(event.xbutton.button, &val);
196         else if (!getkeyval(event, &val)) return(1);
197  
198
199
200 [FILE:227:patches/patch-pgdispd_getvisuals.c]
201 --- pgdispd/getvisuals.c.orig   1993-05-10 00:42:46 UTC
202 +++ pgdispd/getvisuals.c
203 @@ -30,6 +30,7 @@
204  #include "messages.h"
205  
206  #include <stdio.h>
207 +#include <stdlib.h>
208  
209  #define MAX_DEPTH      24      /* the maximum visual depth to use */
210  
211
212
213 [FILE:421:patches/patch-pgdispd_initlgwin.c]
214 --- pgdispd/initlgwin.c.orig    1995-02-24 18:13:24 UTC
215 +++ pgdispd/initlgwin.c
216 @@ -34,6 +34,7 @@
217  
218  /* The system include files */
219  #include <stdio.h>
220 +#include <stdlib.h>
221  
222  /* the X Window include files */
223  #include <X11/Xlib.h>
224 @@ -67,7 +68,6 @@ int initlgwin()
225  
226         Pixmap XCreatePixmap();
227         void initlgluts();      /* initialize the LUTs */
228 -       char *malloc();
229         void initwmattr();
230  
231         /* Initialize the line graphics LUTs */
232
233
234 [FILE:591:patches/patch-pgdispd_proccom.c]
235 --- pgdispd/proccom.c.orig      1994-08-22 20:33:35 UTC
236 +++ pgdispd/proccom.c
237 @@ -92,8 +92,9 @@ static char rcsid[]="@(#)$Id: proccom.c,
238  #include <stdio.h>
239  #include <sys/types.h>
240  #include <netinet/in.h>
241 +#include <stdlib.h>
242  
243 -#ifndef VMS
244 +#if !defined(VMS) && !defined(__FreeBSD__) && !defined(__DragonFly__)
245  #include <values.h>
246  #endif
247  
248 @@ -163,8 +164,6 @@ int *retbuflen;     /* the length of retbuf
249         void drawline();        /* draw a line in the bitmap window */
250         Pixmap XCreatePixmap();
251  
252 -       char *malloc();
253 -
254         if (!len & savedshorts)
255         { /* an incomplete command was sent! */
256                 savedshorts=0;
257
258
259 [FILE:314:files/CMakeLists.txt]
260 cmake_minimum_required(VERSION 3.16)
261 project(pgplot)
262 enable_language(Fortran)
263
264 SET(CMAKE_SKIP_BUILD_RPATH  TRUE)
265
266 add_subdirectory(drivers)
267 add_subdirectory(pgdispd)
268 add_subdirectory(fonts)
269 add_subdirectory(src)
270 add_subdirectory(sys)
271 add_subdirectory(examples)
272
273 install(FILES rgb.txt DESTINATION share/doc/pgplot)
274
275
276 [FILE:5373:files/drivers.list]
277 ! PGPLOT drivers.
278 !------------------------------------------------------------------------------
279 ! To configure PGPLOT, ensure that drivers you do not want are
280 ! commented out (place ! in column 1). N.B. Many device-drivers are
281 ! available on selected operating systems only.
282 !------------------------------------------------------------------------------
283 ! File       Code       Description                                Restrictions
284 ! BCDRIV 0 /BCANON    Canon Laser printer (bitmap version), landscape
285 ! CADRIV 0 /CANON     Canon Laser printer, LBP-8/A2, landscape
286 ! CCDRIV 0 /CCP       DEC LJ250 Color Companion printer
287 ! CWDRIV 0 /CW6320    Gould/Bryans Colourwriter 6320 pen plotter        Std F77
288 ! EPDRIV 0 /EPSON     Epson FX100 dot matrix printer
289 ! EXDRIV 1 /EXCL      Talaris/EXCL printers, landscape
290 ! EXDRIV 2 /EXCL      Talaris/EXCL printers, portrait
291 ! GCDRIV 0 /GENICOM   Genicom 4410 dot-matrix printer, landscape
292 !             Caution: use of GIDRIV may require a license from Unisys:
293   GIDRIV 1 /GIF       GIF-format file, landscape
294   GIDRIV 2 /VGIF      GIF-format file, portrait
295   GLDRIV 1 /HPGL      Hewlett-Packard HP-GL plotters, landscape         Std F77
296   GLDRIV 2 /VHPGL     Hewlett-Packard HP-GL plotters, portrait          Std F77
297 ! GODRIV 0 /GOC       GOC Sigma T5670 terminal                          VMS 
298 ! GVDRIV 0 /GVENICOM  Genicom 4410 dot-matrix printer, portrait
299   HGDRIV 0 /HPGL2     Hewlett-Packard graphics language
300 ! HIDRIV 0 /HIDMP     Houston Instruments HIDMP pen plotter
301 ! HJDRIV 0 /HJ        Hewlett-Packard Desk/Laserjet printer
302 ! HPDRIV 0 /HP7221    Hewlett-Packard HP7221 pen plotter                Std F77
303 ! IMDRIV 0 /IMPRESS   Imagen printers (Impress language), landscape
304 ! IRDRIV 0 /IRIS      SiliconGraphics Console                           SGI (C)
305 ! LADRIV 0 /LA50      Dec LA50 and other sixel printers
306 ! LJDRIV 0 /LJ        Hewlett-Packard LaserJet printers
307 ! LSDRIV 1 /LIPS2     Canon LaserShot printer (landscape)
308 ! LSDRIV 2 /VLIPS2    Canon LaserShot printer (portrait)
309 ! LNDRIV 0 /LN03      Dec LN03-PLUS Laser printer (landscape)           VMS
310 ! LVDRIV 0 /LVN03     Dec LN03-PLUS Laser printer (portrait)            VMS
311   LXDRIV 0 /LATEX     LaTeX picture environment
312 ! MFDRIV 0 /FILE      PGPLOT graphics metafile
313 ! NEDRIV 0 /NEXT      Computers running NeXTstep operating system
314   NUDRIV 0 /NULL      Null device (no output)                           Std F77
315   PPDRIV 1 /PPM       Portable Pixel Map file, landscape
316   PPDRIV 2 /VPPM      Portable PIxel Map file, portrait
317   PSDRIV 1 /PS        PostScript printers, monochrome, landscape        Std F77
318   PSDRIV 2 /VPS       Postscript printers, monochrome, portrait         Std F77
319   PSDRIV 3 /CPS       PostScript printers, color, landscape             Std F77
320   PSDRIV 4 /VCPS      PostScript printers, color, portrait              Std F77
321 ! PXDRIV 0 /PRINTRONI Printronix P300 or P600 dot-matrix printer
322 ! QMDRIV 1 /QMS       QUIC devices (QMS and Talaris), landscape         Std F77
323 ! QMDRIV 2 /VQMS      QUIC devices (QMS and Talaris), portrait          Std F77
324 ! SVDRIV 0 /SUNVIEW   Sun workstations running SunView                  SunOS C
325 ! TFDRIV 0 /TFILE     Tektronix-format disk file                        VMS
326 ! TODRIV 0 /TOSHIBA   Toshiba "3-in-one" printer, model P351
327 ! TTDRIV 1 /TEK4010   Tektronix 4006/4010 storage-tube terminal         Std F77
328 ! TTDRIV 2 /GF        GraphOn terminal                                  Std F77
329 ! TTDRIV 3 /RETRO     RetroGraphics terminal                            Std F77
330   TTDRIV 4 /GTERM     GTERM Tektronix terminal emulator                 Std F77
331   TTDRIV 5 /XTERM     XTERM Tektronix terminal emulator                 Std F77
332 ! TTDRIV 6 /ZSTEM     ZSTEM terminal emulator                           Std F77
333 ! TTDRIV 7 /V603      Visual 603 terminal                               Std F77
334 ! TTDRIV 8 /KRM3      Kermit 3 on IBM-PC                                Std F77
335   TTDRIV 9 /TK4100    Tektronix 4100-series terminals                   Std F77
336 ! TXDRIV 0 /TX        TeX PK Font Output files
337 ! VADRIV 0 /VCANON    Canon Laser printer, LBP-8/A2, portrait
338 ! VBDRIV 0 /VBCANON   Canon Laser printer (bitmap version), portrait
339 ! VIDRIV 0 /VIPRESS   Imagen printers (Impress language), portrait
340 ! VTDRIV 0 /VT125     Dec Regis terminals (VT125 etc.)                  Std F77
341   WDDRIV 1 /WD        X Window dump file, landscape
342   WDDRIV 2 /VWD       X Window dump file, portrait
343 ! WSDRIV 0 /WS        VAX workstations running VWS software             VMS
344   X2DRIV 0 /XDISP     PGDISP or FIGDISP server for X workstations       C
345   XWDRIV 1 /XWINDOW   Workstations running X Window System              C
346   XWDRIV 2 /XSERVE    Persistent window on X Window System              C
347 ! ZEDRIV 0 /ZETA      Zeta 8 Digital Plotter
348 !
349 ! The following drivers can only be used in PGPLOT installations on MS-DOS
350 ! systems with appropriate hardware and software. Do not select these 
351 ! on UNIX or VMS systems.
352 !
353 ! LHDRIV 0 /LH        IBM PCs and clones, Lahey F77 32-bit Fortran v5.0
354 ! MSDRIV 0 /MSOFT     IBM PCs and clones running Microsoft Fortran 5.0
355 ! SSDRIV 0 /SS        IBM PCs and clones, MS-DOS, Salford Software FTN
356 !
357 ! The following driver can only be used in PGPLOT installations on Acorn
358 ! Archimedes systems with appropriate hardware and software.
359 !
360 ! ACDRIV 0 /ARC       Acorn Archimedes computer
361 !
362 ! Selection of the XMOTIF driver causes a stub driver to be placed in
363 ! the main PGPLOT library. The real driver is placed in libXmPgplot.a.
364 ! Applications that need the Motif driver should link with libXmPgplot.a
365 ! before the PGPLOT library. This treatment means that only Motif
366 ! applications have to be linked with Motif libraries.
367 !
368 ! XMDRIV 0 /XMOTIF    Motif applications containing XmPgplot widgets.   C
369
370
371 [FILE:200:files/drivers_CMakeLists.txt]
372 set (prog pgxwin_server)
373
374 add_executable (${prog}
375         pgxwin_server.c
376 )
377
378 target_compile_definitions (${prog} PUBLIC PGDISP)
379 target_link_libraries (${prog} X11)
380
381 install (TARGETS ${prog} DESTINATION bin)
382
383
384 [FILE:478:files/examples_CMakeLists.txt]
385 foreach(N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17)
386   add_executable(pgdemo${N} pgdemo${N}.f)
387   target_link_libraries(pgdemo${N} pgplot X11)
388   target_compile_options(pgdemo${N} PUBLIC -fno-backslash)
389   install(TARGETS pgdemo${N} DESTINATION share/examples/pgplot)
390 endforeach(N)
391
392 include_directories(${CMAKE_BINARY_DIR}/src)
393
394 add_executable(cpgdemo ../cpg/cpgdemo.c)
395 target_link_libraries(cpgdemo cpgplot pgplot X11 m)
396 install(TARGETS cpgdemo DESTINATION share/examples/pgplot)
397
398
399 [FILE:420:files/fonts_CMakeLists.txt]
400 set(outprefix grfont)
401 set(infile ${CMAKE_SOURCE_DIR}/fonts/${outprefix}.txt)
402 set(outfile ${CMAKE_CURRENT_BINARY_DIR}/${outprefix}.dat)
403
404 add_executable (pgpack pgpack.f)
405
406 add_custom_command(
407         OUTPUT ${outfile}
408         COMMAND pgpack < ${infile}
409         DEPENDS pgpack ${infile}
410         COMMENT "Generated ${outfile}"
411         VERBATIM
412 )
413
414 add_custom_target (generate_file ALL
415         DEPENDS ${outfile}
416 )
417
418 install (FILES ${outfile} DESTINATION share/pgplot)
419
420
421 [FILE:1806:files/grexec.f]
422 C*GREXEC -- PGPLOT device handler dispatch routine
423 C+
424       SUBROUTINE GREXEC(IDEV,IFUNC,RBUF,NBUF,CHR,LCHR)
425       INTEGER IDEV, IFUNC, NBUF, LCHR
426       REAL    RBUF(*)
427       CHARACTER*(*) CHR
428 C---
429       INTEGER NDEV
430       PARAMETER (NDEV=21)
431       CHARACTER*10 MSG
432 C---
433       GOTO(1,2,3,4,5,6,7,8,9,10,11,12,13,14,
434      +     15,16,17,18,19,20,21) IDEV
435       IF (IDEV.EQ.0) THEN
436           RBUF(1) = NDEV
437           NBUF = 1
438       ELSE
439           WRITE (MSG,'(I10)') IDEV
440           CALL GRWARN('Unknown device code in GREXEC: '//MSG)
441       END IF
442       RETURN
443 C---
444 1     CALL GIDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,1)
445       RETURN
446 2     CALL GIDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,2)
447       RETURN
448 3     CALL GLDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,1)
449       RETURN
450 4     CALL GLDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,2)
451       RETURN
452 5     CALL HGDRIV(IFUNC,RBUF,NBUF,CHR,LCHR)
453       RETURN
454 6     CALL LXDRIV(IFUNC,RBUF,NBUF,CHR,LCHR)
455       RETURN
456 7     CALL NUDRIV(IFUNC,RBUF,NBUF,CHR,LCHR)
457       RETURN
458 8     CALL PPDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,1)
459       RETURN
460 9     CALL PPDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,2)
461       RETURN
462 10    CALL PSDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,1)
463       RETURN
464 11    CALL PSDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,2)
465       RETURN
466 12    CALL PSDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,3)
467       RETURN
468 13    CALL PSDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,4)
469       RETURN
470 14    CALL TTDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,4)
471       RETURN
472 15    CALL TTDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,5)
473       RETURN
474 16    CALL TTDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,9)
475       RETURN
476 17    CALL WDDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,1)
477       RETURN
478 18    CALL WDDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,2)
479       RETURN
480 19    CALL X2DRIV(IFUNC,RBUF,NBUF,CHR,LCHR)
481       RETURN
482 20    CALL XWDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,1)
483       RETURN
484 21    CALL XWDRIV(IFUNC,RBUF,NBUF,CHR,LCHR,2)
485       RETURN
486 C
487       END
488
489
490 [FILE:498:files/pgdispd_CMakeLists.txt]
491 set (prog pgdisp)
492
493 add_executable (${prog}
494         cleanup.c
495         exposelgwin.c
496         figcurs.c
497         getcolors.c
498         getdata.c
499         getvisuals.c
500         handlexevent.c
501         initlgluts.c
502         initlgwin.c
503         initlock.c
504         initwmattr.c
505         mainloop.c
506         pgdisp.c
507         proccom.c
508         resdb.c
509         resizelgwin.c
510         returnbuf.c
511         updatelgtitle.c
512         waitevent.c
513 )
514
515 target_compile_definitions (${prog} PUBLIC PGDISP)
516 target_link_libraries (${prog} X11)
517
518 install(TARGETS ${prog} DESTINATION bin)
519 install(FILES aaaread.me
520         RENAME readme.pgdisp
521         DESTINATION share/doc/pgplot
522 )
523
524
525 [FILE:4104:files/src_CMakeLists.txt]
526 add_executable (pgbind ../cpg/pgbind.c)
527 target_compile_definitions (pgbind PUBLIC PG_PPU)
528
529 set(libsrcs
530         pgarro.f pgask.f pgband.f pgbbuf.f pgbeg.f pgbin.f pgbox.f
531         pgbox1.f pgcirc.f pgcl.f pgclos.f pgcn01.f pgcnsc.f pgconb.f pgconl.f
532         pgcons.f pgcont.f pgconx.f pgcp.f pgctab.f pgcurs.f pgdraw.f pgebuf.f
533         pgend.f pgenv.f pgeras.f pgerrb.f pgerrx.f pgerry.f pgetxt.f pgfunt.f
534         pgfunx.f pgfuny.f pggray.f pghi2d.f pghis1.f pghist.f pghtch.f
535         pgiden.f pgimag.f pginit.f pglab.f pglcur.f pgldev.f pglen.f pgline.f
536         pgmove.f pgmtxt.f pgncur.f pgnoto.f pgnpl.f pgnumb.f pgolin.f pgopen.f
537         pgpage.f pgpanl.f pgpap.f pgpixl.f pgpnts.f pgpoly.f pgpt.f pgptxt.f
538         pgqah.f pgqcf.f pgqch.f pgqci.f pgqcir.f pgqcol.f pgqcr.f pgqcs.f
539         pgqfs.f pgqhs.f pgqid.f pgqinf.f pgqitf.f pgqls.f pgqlw.f pgqpos.f
540         pgqtbg.f pgqtxt.f pgqvp.f pgqvsz.f pgqwin.f pgrect.f pgrnd.f pgrnge.f
541         pgsah.f pgsave.f pgscf.f pgsch.f pgsci.f pgscir.f pgscr.f pgscrn.f
542         pgsfs.f pgshls.f pgshs.f pgsitf.f pgslct.f pgsls.f pgslw.f pgstbg.f
543         pgsubp.f pgsvp.f pgswin.f pgtbox.f pgtext.f pgupdt.f pgvect.f pgvsiz.f
544         pgvstd.f pgvw.f pgwedg.f pgwnad.f pgadvance.f pgbegin.f pgcurse.f
545         pglabel.f pgmtext.f pgncurse.f pgpaper.f pgpoint.f pgptext.f pgvport.f
546         pgvsize.f pgvstand.f pgwindow.f pgaxis.f pgconf.f pgerr1.f pgpt1.f
547         pgqclp.f pgqdt.f pgqndt.f pgsclp.f pgscrl.f pgtick.f
548 )
549 set(src
550         cpgarro.c cpgask.c cpgband.c cpgbbuf.c cpgbeg.c cpgbin.c cpgbox.c
551         cpgcirc.c cpgclos.c cpgconb.c cpgconl.c cpgcons.c cpgcont.c cpgctab.c
552         cpgcurs.c cpgdraw.c cpgebuf.c cpgend.c cpgenv.c cpgeras.c cpgerrb.c
553         cpgerrx.c cpgerry.c cpgetxt.c cpggray.c cpghi2d.c cpghist.c cpgiden.c
554         cpgimag.c cpglab.c cpglcur.c cpgldev.c cpglen.c cpgline.c cpgmove.c
555         cpgmtxt.c cpgncur.c cpgnumb.c cpgolin.c cpgopen.c cpgpage.c cpgpanl.c
556         cpgpap.c cpgpixl.c cpgpnts.c cpgpoly.c cpgpt.c cpgptxt.c cpgqah.c
557         cpgqcf.c cpgqch.c cpgqci.c cpgqcir.c cpgqcol.c cpgqcr.c cpgqcs.c
558         cpgqfs.c cpgqhs.c cpgqid.c cpgqinf.c cpgqitf.c cpgqls.c cpgqlw.c
559         cpgqpos.c cpgqtbg.c cpgqtxt.c cpgqvp.c cpgqvsz.c cpgqwin.c cpgrect.c
560         cpgrnd.c cpgrnge.c cpgsah.c cpgsave.c cpgscf.c cpgsch.c cpgsci.c
561         cpgscir.c cpgscr.c cpgscrn.c cpgsfs.c cpgshls.c cpgshs.c cpgsitf.c
562         cpgslct.c cpgsls.c cpgslw.c cpgstbg.c cpgsubp.c cpgsvp.c cpgswin.c
563         cpgtbox.c cpgtext.c cpgunsa.c cpgupdt.c cpgvect.c cpgvsiz.c cpgvstd.c
564         cpgwedg.c cpgwnad.c cpgaxis.c cpgconf.c cpgerr1.c cpgpt1.c cpgqclp.c
565         cpgqdt.c cpgqndt.c cpgsclp.c cpgscrl.c cpgtick.c
566 )
567
568 macro(bind infile)
569 add_custom_command(
570         OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/c${infile}.c
571         COMMAND pgbind bsd -h -w ${CMAKE_SOURCE_DIR}/src/${infile}.f
572         DEPENDS pgbind ${CMAKE_SOURCE_DIR}/src/${infile}.f
573         VERBATIM
574 )
575 set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/c${infile}.c
576         PROPERTIES GENERATED true
577 )
578 endmacro(bind)
579
580 foreach(dossier ${src})
581         set(pathsrc ${pathsrc} ${CMAKE_CURRENT_BINARY_DIR}/${dossier})
582         set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${dossier}
583                 PROPERTIES GENERATED true)
584 endforeach(dossier)
585
586 foreach(dossier ${libsrcs})
587         set(pathlibsrcs ${pathlibsrcs} ${CMAKE_SOURCE_DIR}/src/${dossier})
588 endforeach(dossier)
589
590 add_custom_command(
591         OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cpgplot.h ${pathsrc}
592         COMMAND pgbind bsd -h -w ${pathlibsrcs}
593         DEPENDS pgbind ${pathlibsrcs}
594         VERBATIM
595 )
596
597 set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/cpgplot.h
598         PROPERTIES GENERATED true)
599
600 add_library(plotobj OBJECT ${src})
601 set_property(TARGET plotobj PROPERTY POSITION_INDEPENDENT_CODE 1)
602
603 add_library(cpgplot SHARED $<TARGET_OBJECTS:plotobj>)
604 add_library(cpgplot_static ${src})
605
606 set_target_properties(cpgplot PROPERTIES VERSION 5)
607 set_target_properties(cpgplot PROPERTIES SOVERSION 5)
608 set_target_properties(cpgplot PROPERTIES PUBLIC_HEADER
609         ${CMAKE_CURRENT_BINARY_DIR}/cpgplot.h)
610
611 target_compile_definitions (cpgplot PUBLIC PG_PPU)
612 target_compile_definitions (cpgplot_static PUBLIC PG_PPU)
613
614 install(TARGETS cpgplot
615         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
616         PUBLIC_HEADER DESTINATION include)
617
618 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcpgplot_static.a
619         RENAME libcpgplot.a
620         DESTINATION lib)
621 install(FILES ../cpg/cpgplot.doc DESTINATION share/doc/pgplot)
622
623
624 [FILE:5920:files/sys_CMakeLists.txt]
625 set (S "${CMAKE_SOURCE_DIR}/src")
626 set (D "../drivers")
627 set (BSD "../sys_freebsd")
628
629 set(PG_ROUTINES
630         ${S}/pgarro.f
631         ${S}/pgask.f
632         ${S}/pgaxis.f
633         ${S}/pgaxlg.f
634         ${S}/pgband.f
635         ${S}/pgbbuf.f
636         ${S}/pgbeg.f
637         ${S}/pgbin.f
638         ${S}/pgbox.f
639         ${S}/pgbox1.f
640         ${S}/pgcirc.f
641         ${S}/pgcl.f
642         ${S}/pgclos.f
643         ${S}/pgcn01.f
644         ${S}/pgcnsc.f
645         ${S}/pgconb.f 
646         ${S}/pgconf.f 
647         ${S}/pgconl.f 
648         ${S}/pgcons.f 
649         ${S}/pgcont.f 
650         ${S}/pgconx.f 
651         ${S}/pgcp.f 
652         ${S}/pgctab.f
653         ${S}/pgcurs.f 
654         ${S}/pgdraw.f 
655         ${S}/pgebuf.f 
656         ${S}/pgend.f 
657         ${S}/pgenv.f 
658         ${S}/pgeras.f 
659         ${S}/pgerr1.f 
660         ${S}/pgerrb.f
661         ${S}/pgerrx.f 
662         ${S}/pgerry.f 
663         ${S}/pgetxt.f 
664         ${S}/pgfunt.f 
665         ${S}/pgfunx.f 
666         ${S}/pgfuny.f 
667         ${S}/pggray.f
668         ${S}/pghi2d.f 
669         ${S}/pghis1.f 
670         ${S}/pghist.f 
671         ${S}/pghtch.f 
672         ${S}/pgiden.f 
673         ${S}/pgimag.f 
674         ${S}/pginit.f 
675         ${S}/pglab.f
676         ${S}/pglcur.f 
677         ${S}/pgldev.f 
678         ${S}/pglen.f 
679         ${S}/pgline.f 
680         ${S}/pgmove.f 
681         ${S}/pgmtxt.f 
682         ${S}/pgncur.f 
683         ${S}/pgnoto.f
684         ${S}/pgnpl.f 
685         ${S}/pgnumb.f 
686         ${S}/pgolin.f 
687         ${S}/pgopen.f 
688         ${S}/pgpage.f 
689         ${S}/pgpanl.f 
690         ${S}/pgpap.f 
691         ${S}/pgpixl.f
692         ${S}/pgpnts.f 
693         ${S}/pgpoly.f 
694         ${S}/pgpt.f 
695         ${S}/pgpt1.f 
696         ${S}/pgptxt.f 
697         ${S}/pgqah.f 
698         ${S}/pgqcf.f 
699         ${S}/pgqch.f
700         ${S}/pgqci.f 
701         ${S}/pgqcir.f 
702         ${S}/pgqclp.f 
703         ${S}/pgqcol.f 
704         ${S}/pgqcr.f 
705         ${S}/pgqcs.f 
706         ${S}/pgqdt.f 
707         ${S}/pgqfs.f
708         ${S}/pgqhs.f 
709         ${S}/pgqid.f 
710         ${S}/pgqinf.f 
711         ${S}/pgqitf.f 
712         ${S}/pgqls.f 
713         ${S}/pgqlw.f 
714         ${S}/pgqndt.f 
715         ${S}/pgqpos.f
716         ${S}/pgqtbg.f 
717         ${S}/pgqtxt.f 
718         ${S}/pgqvp.f 
719         ${S}/pgqvsz.f 
720         ${S}/pgqwin.f 
721         ${S}/pgrect.f 
722         ${S}/pgrnd.f 
723         ${S}/pgrnge.f
724         ${S}/pgsah.f 
725         ${S}/pgsave.f 
726         ${S}/pgscf.f 
727         ${S}/pgsch.f 
728         ${S}/pgsci.f 
729         ${S}/pgscir.f 
730         ${S}/pgsclp.f 
731         ${S}/pgscr.f
732         ${S}/pgscrl.f 
733         ${S}/pgscrn.f 
734         ${S}/pgsfs.f 
735         ${S}/pgshls.f 
736         ${S}/pgshs.f 
737         ${S}/pgsitf.f 
738         ${S}/pgslct.f 
739         ${S}/pgsls.f
740         ${S}/pgslw.f 
741         ${S}/pgstbg.f 
742         ${S}/pgsubp.f 
743         ${S}/pgsvp.f 
744         ${S}/pgswin.f 
745         ${S}/pgtbox.f 
746         ${S}/pgtext.f 
747         ${S}/pgtick.f
748         ${S}/pgtikl.f 
749         ${S}/pgupdt.f 
750         ${S}/pgvect.f 
751         ${S}/pgvsiz.f 
752         ${S}/pgvstd.f 
753         ${S}/pgvw.f 
754         ${S}/pgwedg.f 
755         ${S}/pgwnad.f
756 )
757
758 set(PG_NON_STANDARD
759         ${S}/pgadvance.f 
760         ${S}/pgbegin.f 
761         ${S}/pgcurse.f 
762         ${S}/pglabel.f
763         ${S}/pgmtext.f 
764         ${S}/pgncurse.f 
765         ${S}/pgpaper.f 
766         ${S}/pgpoint.f 
767         ${S}/pgptext.f 
768         ${S}/pgvport.f 
769         ${S}/pgvsize.f
770         ${S}/pgvstand.f 
771         ${S}/pgwindow.f
772 )
773
774 set(GR_ROUTINES
775         ${S}/grarea.f 
776         ${S}/grbpic.f 
777         ${S}/grchsz.f 
778         ${S}/grclip.f 
779         ${S}/grclos.f 
780         ${S}/grclpl.f
781         ${S}/grctoi.f 
782         ${S}/grcurs.f 
783         ${S}/grdot0.f 
784         ${S}/grdot1.f 
785         ${S}/grdtyp.f 
786         ${S}/gresc.f 
787         ${S}/grepic.f 
788         ${S}/gretxt.f
789         ${S}/grfa.f 
790         ${S}/grfao.f 
791         ${S}/grgfil.f 
792         ${S}/grgray.f 
793         ${S}/grimg0.f 
794         ${S}/grimg1.f 
795         ${S}/grimg2.f 
796         ${S}/grimg3.f
797         ${S}/grinit.f 
798         ${S}/gritoc.f 
799         ${S}/grldev.f 
800         ${S}/grlen.f 
801         ${S}/grlin0.f 
802         ${S}/grlin1.f 
803         ${S}/grlin2.f 
804         ${S}/grlin3.f
805         ${S}/grlina.f 
806         ${S}/grmcur.f 
807         ${S}/grmker.f 
808         ${S}/grmova.f 
809         ${S}/grmsg.f 
810         ${S}/gropen.f 
811         ${S}/grpage.f 
812         ${S}/grpars.f
813         ${S}/grpixl.f 
814         ${S}/grpocl.f 
815         ${S}/grprom.f 
816         ${S}/grpxpo.f 
817         ${S}/grpxps.f 
818         ${S}/grpxpx.f 
819         ${S}/grpxre.f
820         ${S}/grqcap.f 
821         ${S}/grqci.f 
822         ${S}/grqcol.f 
823         ${S}/grqcr.f 
824         ${S}/grqdev.f 
825         ${S}/grqdt.f 
826         ${S}/grqfnt.f 
827         ${S}/grqls.f
828         ${S}/grqlw.f 
829         ${S}/grqpos.f 
830         ${S}/grqtxt.f 
831         ${S}/grqtyp.f 
832         ${S}/grquit.f 
833         ${S}/grrec0.f 
834         ${S}/grrect.f 
835         ${S}/grsci.f
836         ${S}/grscr.f 
837         ${S}/grsetc.f 
838         ${S}/grscrl.f 
839         ${S}/grsetc.f 
840         ${S}/grsets.f 
841         ${S}/grsfnt.f 
842         ${S}/grsize.f 
843         ${S}/grskpb.f
844         ${S}/grslct.f 
845         ${S}/grsls.f 
846         ${S}/grslw.f 
847         ${S}/grsyds.f 
848         ${S}/grsymk.f 
849         ${S}/grsyxd.f 
850         ${S}/grterm.f 
851         ${S}/grtext.f
852         ${S}/grtoup.f 
853         ${S}/grtrim.f 
854         ${S}/grtrn0.f 
855         ${S}/grtxy0.f 
856         ${S}/grvct0.f 
857         ${S}/grwarn.f 
858         ${S}/grxhls.f
859         ${S}/grxrgb.f
860 )
861
862 set(DRIVERS
863         ${D}/gidriv.f
864         ${D}/gldriv.f
865         ${D}/hgdriv.f
866         ${D}/lxdriv.f
867         ${D}/nudriv.f
868         ${D}/ppdriv.f
869         ${D}/psdriv.f
870         ${D}/ttdriv.f
871         ${D}/wddriv.f
872         ${D}/x2driv.c
873         ${D}/figdisp_comm.c
874         ${D}/xwdriv.c
875         ${D}/cgdriv.c
876         ${D}/pndriv.c
877         ${D}/xadriv.c
878 )
879
880 set(SYSTEM_ROUTINES
881         grdate.c grfileio.c grflun.f grgcom.f grgenv.f
882         grgetc.c grglun.f grgmem.c grgmsg.f grlgtr.f groptx.f grsy00.f
883         grtermio.c grtrml.f grtter.f gruser.c
884 )
885
886 IF(CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|DragonFly)")
887         set(OS_SPECIFIC ${BSD}/iand.c)
888 ENDIF()
889
890 set(SRCS 
891         ${PG_ROUTINES}
892         ${PG_NON_STANDARD}
893         ${GR_ROUTINES}
894         ${SYSTEM_ROUTINES}
895         ${DRIVERS}
896         ${OS_SPECIFIC}
897         grexec.f        # provided
898 )
899
900 add_library(fplotobj OBJECT ${SRCS})
901 set_property(TARGET fplotobj PROPERTY POSITION_INDEPENDENT_CODE 1)
902
903 add_library(pgplot SHARED $<TARGET_OBJECTS:fplotobj>)
904 add_library(pgplot_static ${SRCS})
905
906 set_target_properties(pgplot PROPERTIES VERSION 5)
907 set_target_properties(pgplot PROPERTIES SOVERSION 5)
908
909 target_compile_definitions (fplotobj PUBLIC PG_PPU)
910 target_compile_definitions (pgplot_static PUBLIC PG_PPU)
911
912 target_link_libraries (pgplot png)
913
914 install(TARGETS pgplot
915         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
916         PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
917
918 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpgplot_static.a
919         RENAME libpgplot.a
920         DESTINATION lib)
921
922 set (out_doc ${CMAKE_CURRENT_BINARY_DIR}/pgplot.doc)
923 set (out_htm ${CMAKE_CURRENT_BINARY_DIR}/pgplot.html)
924 set (out_tex ${CMAKE_CURRENT_BINARY_DIR}/pgplot-routines.tex)
925
926 add_custom_command(
927         OUTPUT ${out_doc}
928         COMMAND ${CMAKE_SOURCE_DIR}/makedoc ${PG_ROUTINES} ${PG_NON_STANDARD} > ${out_doc}
929         DEPENDS ${PG_ROUTINES} ${PG_NON_STANDARD}
930         COMMENT "Generated ${out_doc}"
931         VERBATIM
932 )
933
934 add_custom_command(
935         OUTPUT ${out_htm}
936         COMMAND ${CMAKE_SOURCE_DIR}/makehtml ${PG_ROUTINES} ${PG_NON_STANDARD} > ${out_htm}
937         DEPENDS ${PG_ROUTINES} ${PG_NON_STANDARD}
938         COMMENT "Generated ${out_htm}"
939         VERBATIM
940 )
941
942 add_custom_command(
943         OUTPUT ${out_tex}
944         COMMAND ${CMAKE_SOURCE_DIR}/maketex ${PG_ROUTINES} ${PG_NON_STANDARD} > ${out_tex}
945         DEPENDS ${PG_ROUTINES} ${PG_NON_STANDARD}
946         COMMENT "Generated ${out_tex}"
947         VERBATIM
948 )
949
950 add_custom_target(gen_docs ALL
951         DEPENDS ${out_doc} ${out_htm} ${out_tex}
952 )
953
954 install(FILES ${out_doc} ${out_htm} ${out_tex}
955         DESTINATION share/doc/pgplot)
956