Skip to content

Commit fa3baaf

Browse files
committed
Add autoconf build files for Linux / Mac
1 parent 85ce5f4 commit fa3baaf

File tree

4 files changed

+578
-2
lines changed

4 files changed

+578
-2
lines changed

Makefile.am

Lines changed: 333 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,333 @@
1+
# Process this file with automake to create Makefile.in for wxchartdir library
2+
#
3+
# Copyright (C) 2018 Ulrich Telle <ulrich@telle-online.de>
4+
#
5+
# This file is covered by the same licence as the entire wxChartDir package.
6+
7+
ACLOCAL_AMFLAGS = -I admin/m4
8+
9+
# Flags used for compiling all the targets and linking all the executables
10+
# (libraries use LIBADD which is set for lib@WXCHARTDIR_LIBNAME@.la only).
11+
AM_CXXFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/wxdemo/common $(WX_CXXFLAGS)
12+
AM_CXXFLAGS += -DCHARTDIR_HIDE_OBSOLETE
13+
14+
LDADD = lib@WXCHARTDIR_LIBNAME@.la -lchartdir $(WX_LIBS)
15+
16+
# Target-specific assignments are GNU Make-specific, but there doesn't seem to
17+
# be any other way to define different compilation optiosn when building
18+
# shared and static libraries with libtool.
19+
if USE_SHARED
20+
%.lo: AM_CXXFLAGS += -DWXMAKINGDLL_WXCHARTVIEWER
21+
%.o: AM_CXXFLAGS += -DWXUSINGDLL_WXCHARTVIEWER
22+
else
23+
%.lo: AM_CXXFLAGS += -DWXMAKINGLIB_WXCHARTVIEWER
24+
%.o: AM_CXXFLAGS += -DWXUSINGLIB_WXCHARTVIEWER
25+
endif
26+
27+
if HAS_CHARTDIR_PATH
28+
LD_CHARTDIR = -L@CHARTDIR_PATH@
29+
RPATH_CHARTDIR = -rpath @CHARTDIR_PATH@
30+
else
31+
if USE_GTK
32+
if OS_IS64BIT
33+
LD_CHARTDIR = -L$(realpath $(top_srcdir))/lib/linux64
34+
RPATH_CHARTDIR = -rpath $(realpath $(top_srcdir))/lib/linux64
35+
else
36+
LD_CHARTDIR = -L$(realpath $(top_srcdir))/lib/linux32
37+
RPATH_CHARTDIR = -rpath $(realpath $(top_srcdir))/lib/linux32
38+
endif
39+
endif
40+
if USE_MAC
41+
LD_CHARTDIR = -L$(realpath $(top_srcdir))/lib/mac
42+
RPATH_CHARTDIR = -rpath $(realpath $(top_srcdir))/lib/mac
43+
endif
44+
endif
45+
LDFLAGS_SAMPLES = -no-install $(LD_CHARTDIR) $(RPATH_CHARTDIR)
46+
47+
# Define the directory where the library headers are installed.
48+
includewxdir = $(includedir)/wx
49+
50+
pkgconfigdir = $(libdir)/pkgconfig
51+
pkgconfig_DATA = wxchartdir.pc
52+
53+
# The main library. Notice that it uses dynamic, i.e. determined when running
54+
# configure, name because it depends on the version of wxWidgets used. This is
55+
# rather unusual, but Automake doesn't seem to mind.
56+
lib_LTLIBRARIES = lib@WXCHARTDIR_LIBNAME@.la
57+
58+
lib@WXCHARTDIR_LIBNAME@_la_SOURCES = \
59+
wxdemo/common/wxchartviewer.cpp
60+
61+
includewx_HEADERS = \
62+
wxdemo/common/wxchartviewer.h \
63+
wxdemo/common/wxchartviewer_defs.h \
64+
wxdemo/common/wxchartviewer_version.h
65+
66+
# TODO: Do we need to list all headers from samples?
67+
# noinst_HEADERS = \
68+
# wxdemo/*.h
69+
70+
lib@WXCHARTDIR_LIBNAME@_la_LDFLAGS = -no-undefined $(LD_CHARTDIR) $(AM_LDFLAGS)
71+
lib@WXCHARTDIR_LIBNAME@_la_LIBADD = -lchartdir $(WX_LIBS)
72+
73+
# Samples (don't need to be installed).
74+
noinst_PROGRAMS = \
75+
cppdemo/cppdemo \
76+
wxdemo/helloworld/helloworld \
77+
wxdemo/crosshair/crosshair \
78+
wxdemo/trackaxis/trackaxis \
79+
wxdemo/trackbox/trackbox \
80+
wxdemo/trackfinance/trackfinance \
81+
wxdemo/tracklabel/tracklabel \
82+
wxdemo/tracklegend/tracklegend \
83+
wxdemo/wxdemo/wxdemo \
84+
wxdemo/simplezoomscroll/simplezoomscroll \
85+
wxdemo/viewportcontroldemo/viewportcontroldemo \
86+
wxdemo/xyzoomscroll/xyzoomscroll \
87+
wxdemo/zoomscrolltrack/zoomscrolltrack \
88+
wxdemo/zoomscrolltrack2/zoomscrolltrack2 \
89+
wxdemo/realtimedemo/realtimedemo \
90+
wxdemo/realtimetrack/realtimetrack \
91+
wxdemo/realtimezoomscroll/realtimezoomscroll \
92+
wxdemo/realtimesweep/realtimesweep \
93+
wxdemo/realtimemultithread/realtimemultithread \
94+
wxdemo/realtimemeasure/realtimemeasure \
95+
wxdemo/realtimeviewport/realtimeviewport \
96+
wxdemo/financedemo/financedemo
97+
98+
99+
cppdemo_cppdemo_SOURCES = \
100+
cppdemo/cppdemo.cpp \
101+
cppdemo/cppdemo_gen.h \
102+
cppdemo/cppdemo_inc.h
103+
104+
cppdemo_cppdemo_LDADD = $(LDADD)
105+
cppdemo_cppdemo_LDFLAGS = $(LDFLAGS_SAMPLES)
106+
107+
108+
wxdemo_helloworld_helloworld_SOURCES = \
109+
wxdemo/helloworld/helloworld.cpp \
110+
wxdemo/helloworld/helloworldapp.cpp \
111+
wxdemo/helloworld/helloworld.h \
112+
wxdemo/helloworld/helloworldapp.h
113+
114+
wxdemo_helloworld_helloworld_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
115+
wxdemo_helloworld_helloworld_LDFLAGS = $(LDFLAGS_SAMPLES)
116+
117+
118+
wxdemo_crosshair_crosshair_SOURCES = \
119+
wxdemo/crosshair/crosshair.cpp \
120+
wxdemo/crosshair/crosshairapp.cpp \
121+
wxdemo/crosshair/crosshair.h \
122+
wxdemo/crosshair/crosshairapp.h
123+
124+
wxdemo_crosshair_crosshair_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
125+
wxdemo_crosshair_crosshair_LDFLAGS = $(LDFLAGS_SAMPLES)
126+
127+
128+
wxdemo_trackaxis_trackaxis_SOURCES = \
129+
wxdemo/trackaxis/trackaxis.cpp \
130+
wxdemo/trackaxis/trackaxisapp.cpp \
131+
wxdemo/trackaxis/trackaxis.h \
132+
wxdemo/trackaxis/trackaxisapp.h
133+
134+
wxdemo_trackaxis_trackaxis_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
135+
wxdemo_trackaxis_trackaxis_LDFLAGS = $(LDFLAGS_SAMPLES)
136+
137+
138+
wxdemo_trackbox_trackbox_SOURCES = \
139+
wxdemo/trackbox/trackbox.cpp \
140+
wxdemo/trackbox/trackboxapp.cpp \
141+
wxdemo/trackbox/trackbox.h \
142+
wxdemo/trackbox/trackboxapp.h
143+
144+
wxdemo_trackbox_trackbox_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
145+
wxdemo_trackbox_trackbox_LDFLAGS = $(LDFLAGS_SAMPLES)
146+
147+
148+
wxdemo_trackfinance_trackfinance_SOURCES = \
149+
wxdemo/trackfinance/trackfinance.cpp \
150+
wxdemo/trackfinance/trackfinanceapp.cpp \
151+
wxdemo/trackfinance/trackfinance.h \
152+
wxdemo/trackfinance/trackfinanceapp.h
153+
154+
wxdemo_trackfinance_trackfinance_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
155+
wxdemo_trackfinance_trackfinance_LDFLAGS = $(LDFLAGS_SAMPLES)
156+
157+
158+
wxdemo_tracklabel_tracklabel_SOURCES = \
159+
wxdemo/tracklabel/tracklabel.cpp \
160+
wxdemo/tracklabel/tracklabelapp.cpp \
161+
wxdemo/tracklabel/tracklabel.h \
162+
wxdemo/tracklabel/tracklabelapp.h
163+
164+
wxdemo_tracklabel_tracklabel_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
165+
wxdemo_tracklabel_tracklabel_LDFLAGS = $(LDFLAGS_SAMPLES)
166+
167+
168+
wxdemo_tracklegend_tracklegend_SOURCES = \
169+
wxdemo/tracklegend/tracklegend.cpp \
170+
wxdemo/tracklegend/tracklegendapp.cpp \
171+
wxdemo/tracklegend/tracklegend.h \
172+
wxdemo/tracklegend/tracklegendapp.h
173+
174+
wxdemo_tracklegend_tracklegend_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
175+
wxdemo_tracklegend_tracklegend_LDFLAGS = $(LDFLAGS_SAMPLES)
176+
177+
178+
wxdemo_wxdemo_wxdemo_SOURCES = \
179+
wxdemo/wxdemo/wxdemo.cpp \
180+
wxdemo/wxdemo/wxdemoapp.cpp \
181+
wxdemo/wxdemo/democharts.cpp \
182+
wxdemo/wxdemo/hotspotdialog.cpp \
183+
wxdemo/wxdemo/wxdemo.h \
184+
wxdemo/wxdemo/wxdemoapp.h \
185+
wxdemo/wxdemo/democharts.h \
186+
wxdemo/wxdemo/hotspotdialog.h
187+
188+
wxdemo_wxdemo_wxdemo_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
189+
wxdemo_wxdemo_wxdemo_LDFLAGS = $(LDFLAGS_SAMPLES)
190+
191+
192+
wxdemo_simplezoomscroll_simplezoomscroll_SOURCES = \
193+
wxdemo/simplezoomscroll/simplezoomscroll.cpp \
194+
wxdemo/simplezoomscroll/simplezoomscrollapp.cpp \
195+
wxdemo/simplezoomscroll/simplezoomscroll.h \
196+
wxdemo/simplezoomscroll/simplezoomscrollapp.h
197+
198+
wxdemo_simplezoomscroll_simplezoomscroll_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
199+
wxdemo_simplezoomscroll_simplezoomscroll_LDFLAGS = $(LDFLAGS_SAMPLES)
200+
201+
202+
wxdemo_viewportcontroldemo_viewportcontroldemo_SOURCES = \
203+
wxdemo/viewportcontroldemo/viewportcontroldemo.cpp \
204+
wxdemo/viewportcontroldemo/viewportcontroldemoapp.cpp \
205+
wxdemo/viewportcontroldemo/viewportcontroldemo.h \
206+
wxdemo/viewportcontroldemo/viewportcontroldemoapp.h
207+
208+
wxdemo_viewportcontroldemo_viewportcontroldemo_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
209+
wxdemo_viewportcontroldemo_viewportcontroldemo_LDFLAGS = $(LDFLAGS_SAMPLES)
210+
211+
212+
wxdemo_xyzoomscroll_xyzoomscroll_SOURCES = \
213+
wxdemo/xyzoomscroll/xyzoomscroll.cpp \
214+
wxdemo/xyzoomscroll/xyzoomscrollapp.cpp \
215+
wxdemo/xyzoomscroll/hotspotdialog.cpp \
216+
wxdemo/xyzoomscroll/xyzoomscroll.h \
217+
wxdemo/xyzoomscroll/xyzoomscrollapp.h \
218+
wxdemo/xyzoomscroll/hotspotdialog.h
219+
220+
wxdemo_xyzoomscroll_xyzoomscroll_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
221+
wxdemo_xyzoomscroll_xyzoomscroll_LDFLAGS = $(LDFLAGS_SAMPLES)
222+
223+
224+
wxdemo_zoomscrolltrack_zoomscrolltrack_SOURCES = \
225+
wxdemo/zoomscrolltrack/zoomscrolltrack.cpp \
226+
wxdemo/zoomscrolltrack/zoomscrolltrackapp.cpp \
227+
wxdemo/zoomscrolltrack/zoomscrolltrack.h \
228+
wxdemo/zoomscrolltrack/zoomscrolltrackapp.h
229+
230+
wxdemo_zoomscrolltrack_zoomscrolltrack_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
231+
wxdemo_zoomscrolltrack_zoomscrolltrack_LDFLAGS = $(LDFLAGS_SAMPLES)
232+
233+
234+
wxdemo_zoomscrolltrack2_zoomscrolltrack2_SOURCES = \
235+
wxdemo/zoomscrolltrack2/zoomscrolltrack2.cpp \
236+
wxdemo/zoomscrolltrack2/zoomscrolltrack2app.cpp \
237+
wxdemo/zoomscrolltrack2/zoomscrolltrack2.h \
238+
wxdemo/zoomscrolltrack2/zoomscrolltrack2app.h
239+
240+
wxdemo_zoomscrolltrack2_zoomscrolltrack2_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
241+
wxdemo_zoomscrolltrack2_zoomscrolltrack2_LDFLAGS = $(LDFLAGS_SAMPLES)
242+
243+
244+
wxdemo_realtimedemo_realtimedemo_SOURCES = \
245+
wxdemo/realtimedemo/realtimedemo.cpp \
246+
wxdemo/realtimedemo/realtimedemoapp.cpp \
247+
wxdemo/realtimedemo/realtimedemo.h \
248+
wxdemo/realtimedemo/realtimedemoapp.h
249+
250+
wxdemo_realtimedemo_realtimedemo_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
251+
wxdemo_realtimedemo_realtimedemo_LDFLAGS = $(LDFLAGS_SAMPLES)
252+
253+
254+
wxdemo_realtimetrack_realtimetrack_SOURCES = \
255+
wxdemo/realtimetrack/realtimetrack.cpp \
256+
wxdemo/realtimetrack/realtimetrackapp.cpp \
257+
wxdemo/realtimetrack/realtimetrack.h \
258+
wxdemo/realtimetrack/realtimetrackapp.h
259+
260+
wxdemo_realtimetrack_realtimetrack_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
261+
wxdemo_realtimetrack_realtimetrack_LDFLAGS = $(LDFLAGS_SAMPLES)
262+
263+
264+
wxdemo_realtimezoomscroll_realtimezoomscroll_SOURCES = \
265+
wxdemo/realtimezoomscroll/realtimezoomscroll.cpp \
266+
wxdemo/realtimezoomscroll/realtimezoomscrollapp.cpp \
267+
wxdemo/realtimezoomscroll/realtimezoomscroll.h \
268+
wxdemo/realtimezoomscroll/realtimezoomscrollapp.h
269+
270+
wxdemo_realtimezoomscroll_realtimezoomscroll_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
271+
wxdemo_realtimezoomscroll_realtimezoomscroll_LDFLAGS = $(LDFLAGS_SAMPLES)
272+
273+
274+
wxdemo_realtimesweep_realtimesweep_SOURCES = \
275+
wxdemo/realtimesweep/realtimesweep.cpp \
276+
wxdemo/realtimesweep/realtimesweepapp.cpp \
277+
wxdemo/realtimesweep/randomwave.cpp \
278+
wxdemo/realtimesweep/realtimesweep.h \
279+
wxdemo/realtimesweep/realtimesweepapp.h \
280+
wxdemo/realtimesweep/randomwave.h \
281+
wxdemo/realtimesweep/wxdoublebufferedqueue.h
282+
283+
wxdemo_realtimesweep_realtimesweep_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
284+
wxdemo_realtimesweep_realtimesweep_LDFLAGS = $(LDFLAGS_SAMPLES)
285+
286+
287+
wxdemo_realtimemultithread_realtimemultithread_SOURCES = \
288+
wxdemo/realtimemultithread/realtimemultithread.cpp \
289+
wxdemo/realtimemultithread/realtimemultithreadapp.cpp \
290+
wxdemo/realtimemultithread/randomwalk.cpp \
291+
wxdemo/realtimemultithread/realtimemultithread.h \
292+
wxdemo/realtimemultithread/realtimemultithreadapp.h \
293+
wxdemo/realtimemultithread/randomwalk.h \
294+
wxdemo/realtimemultithread/wxdoublebufferedqueue.h
295+
296+
wxdemo_realtimemultithread_realtimemultithread_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
297+
wxdemo_realtimemultithread_realtimemultithread_LDFLAGS = $(LDFLAGS_SAMPLES)
298+
299+
300+
wxdemo_realtimemeasure_realtimemeasure_SOURCES = \
301+
wxdemo/realtimemeasure/realtimemeasure.cpp \
302+
wxdemo/realtimemeasure/realtimemeasureapp.cpp \
303+
wxdemo/realtimemeasure/realtimemeasure.h \
304+
wxdemo/realtimemeasure/realtimemeasureapp.h \
305+
wxdemo/realtimemeasure/wxdoublebufferedqueue.h
306+
307+
wxdemo_realtimemeasure_realtimemeasure_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
308+
wxdemo_realtimemeasure_realtimemeasure_LDFLAGS = $(LDFLAGS_SAMPLES)
309+
310+
311+
wxdemo_realtimeviewport_realtimeviewport_SOURCES = \
312+
wxdemo/realtimeviewport/realtimeviewport.cpp \
313+
wxdemo/realtimeviewport/realtimeviewportapp.cpp \
314+
wxdemo/realtimeviewport/randomwalk.cpp \
315+
wxdemo/realtimeviewport/realtimeviewport.h \
316+
wxdemo/realtimeviewport/realtimeviewportapp.h \
317+
wxdemo/realtimeviewport/randomwalk.h \
318+
wxdemo/realtimeviewport/wxdoublebufferedqueue.h
319+
320+
wxdemo_realtimeviewport_realtimeviewport_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
321+
wxdemo_realtimeviewport_realtimeviewport_LDFLAGS = $(LDFLAGS_SAMPLES)
322+
323+
324+
wxdemo_financedemo_financedemo_SOURCES = \
325+
wxdemo/financedemo/financedemo.cpp \
326+
wxdemo/financedemo/financedemoapp.cpp \
327+
wxdemo/financedemo/hotspotdialog.cpp \
328+
wxdemo/financedemo/financedemo.h \
329+
wxdemo/financedemo/financedemoapp.h \
330+
wxdemo/financedemo/hotspotdialog.h
331+
332+
wxdemo_financedemo_financedemo_LDADD = $(WX_LIBS_CHARTDIR_SAMPLE) $(LDADD)
333+
wxdemo_financedemo_financedemo_LDFLAGS = $(LDFLAGS_SAMPLES)

README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,40 @@ depending on the build - the wxChartDir DLL or add the appropriate
8484

8585
### wxGTK / wxMac
8686

87-
Currently **wxGTK** and **wxMac** are not yet supported. It is intended to
88-
add support for these wxWidgets builds with one of next versions of **wxChartDir**.
87+
When building on an autoconf-based system (like Linux/GNU-based
88+
systems), the first step is to recreate the configure script from
89+
the root directory of the component doing:
90+
91+
```
92+
autoreconf
93+
```
94+
95+
Thereafter you should create a
96+
97+
```
98+
mkdir build-gtk [or any other suitable name]
99+
cd build-gtk
100+
../configure [here you should use the same flags you used to configure wxWidgets]
101+
make
102+
```
103+
104+
Optionally, the directory where the **ChartDirector** binaries are installed can be
105+
specified with the configure option `--with-cddir=PATH`. If the option is not given
106+
the binaries coming with **wxChartDir** will be used.
107+
108+
Type `../configure --help` for more info.
109+
110+
In principle, the autoconf-based system also supports a `make install` target which
111+
builds the library and then copies the headers of the component to
112+
`/usr/local/include` and the lib to `/usr/local/lib` by default (you can use
113+
`pkg-config --cflags` and `--libs` to find the required compilation and
114+
linking flags in general). However, at the moment this option should not be used,
115+
since it is not yet decided how to resolve the dependency on **ChartDirector**.
116+
117+
The sample applications will be built in subdirectories `cppdemo` and `wxdemo` of
118+
the build directory where `configure` was executed. Each sample application is
119+
located in a separate subdirectory and should be executed from its own subdirectory,
120+
so that it can locate required graphics files.
89121

90122
## <a name="documentation" />Documentation
91123

0 commit comments

Comments
 (0)