Skip to content

Commit 65fe379

Browse files
author
Koen Deforche
committed
implement --gdb option, misc doc improvements and small bug fixes
1 parent b267eed commit 65fe379

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+883
-291
lines changed

CMakeLists.txt

Lines changed: 56 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ SET(WT_SOVERSION 23)
1919
SET(WTEXT_SOVERSION 23)
2020
SET(WTHTTP_SOVERSION 23)
2121
SET(WTFCGI_SOVERSION 23)
22-
SET(WTISAPI_SOVERSION 23)
22+
SET(WTISAPI_SOVERSION 1)
2323
SET(WTDBO_SOVERSION 23)
2424
SET(WTDBOSQLITE3_SOVERSION 23)
2525
SET(WTDBOPOSTGRES_SOVERSION 23)
@@ -78,40 +78,73 @@ ENDIF(CMAKE_MAJOR_VERSION LESS 2)
7878

7979
SET(WT_BOOST_DISCOVERY ${DEFAULT_WT_BOOST_DISCOVERY} CACHE BOOL "Use Wt's boost discovery method rather than the cmake 2.6+ method")
8080

81+
82+
SET(LIB_INSTALL_DIR "lib" CACHE STRING
83+
"Name for library directory within ${CMAKE_INSTALL_PREFIX}")
84+
8185
IF(WIN32)
8286

83-
SET(LIB_INSTALL_DIR "lib" CACHE STRING "Name for library directory within ${CMAKE_INSTALL_PREFIX}")
84-
SET(RUNDIR "c:/witty" CACHE PATH "Does not apply to Win32 build")
85-
IF( NOT DEFINED CONFIGDIR )
87+
SET(RUNDIR "c:/witty") # Does not apply to win32
88+
89+
IF(NOT DEFINED CONFIGDIR)
8690
SET(CONFIGDIR ${RUNDIR} CACHE STRING "Path for the configuration files")
87-
ENDIF( NOT DEFINED CONFIGDIR )
88-
SET(DEPLOYROOT c:/witty/wt-examples CACHE PATH "Path to deploy examples into")
91+
ENDIF(NOT DEFINED CONFIGDIR)
8992

90-
SET(USERLIB_ROOT "c:/libraries" CACHE PATH "Location for installed dependency libraries")
91-
SET(BOOST_DIR "c:/Program Files/Boost" CACHE PATH "Location of boost libraries")
92-
OPTION(BOOST_DYNAMIC "Link to boost DLLs (OFF means static link)" OFF)
93-
SET(GD_DIR ${USERLIB_ROOT} CACHE PATH "Location of gd library (overrides USERLIB_ROOT)")
94-
SET(HARU_ROOT ${USERLIB_ROOT} CACHE PATH "Location of libharu library (overrides USERLIB_ROOT)")
95-
SET(POSTGRES_ROOT "c:/libraries" CACHE PATH "Location of postgresql library (overrides USERLIB_ROOT)")
96-
SET(MYSQL_ROOT "c:/libraries" CACHE PATH "Location of mysql and mysql++ libraries (overrides USERLIB_ROOT)")
93+
SET(USERLIB_PREFIX_DEFAULT "c:/libraries")
9794

9895
ELSE(WIN32)
9996

100-
SET(LIB_INSTALL_DIR "lib" CACHE STRING "Name for library directory within ${CMAKE_INSTALL_PREFIX}")
101-
SET(RUNDIR "/var/run/wt" CACHE PATH "Default path for wt session management (only used by FCGI connector; not relative to CMAKE_INSTALL_PREFIX)")
97+
SET(RUNDIR "/var/run/wt" CACHE PATH
98+
"Default path for wt session management "
99+
"(only used by FCGI connector; not relative to CMAKE_INSTALL_PREFIX)")
100+
102101
IF( NOT DEFINED CONFIGDIR )
103102
SET(CONFIGDIR "/etc/wt" CACHE STRING "Path for the configuration files")
104103
ENDIF( NOT DEFINED CONFIGDIR )
105-
SET(DEPLOYROOT /var/www/localhost/htdocs/wt-examples CACHE PATH "Path to deploy examples into)")
106-
107-
SET(USERLIB_ROOT /usr CACHE PATH "Location for installed dependency libraries.")
108-
SET(BOOST_DIR ${USERLIB_ROOT} CACHE PATH "Location of boost libraries (overrides USERLIB_ROOT).")
109-
SET(GD_DIR ${USERLIB_ROOT} CACHE PATH "Location of gd library (overrides USERLIB_ROOT).")
110-
SET(POSTGRES_ROOT ${USERLIB_ROOT} CACHE PATH "Location of postgresql library (overrides USERLIB_ROOT)")
111-
SET(MYSQL_ROOT ${USERLIB_ROOT} CACHE PATH "Location of mysql and mysql++ libraries (overrides USERLIB_ROOT)")
112-
SET(HARU_ROOT ${USERLIB_ROOT} CACHE PATH "Location of libharu library (overrides USERLIB_ROOT)")
104+
105+
SET(USERLIB_PREFIX_DEFAULT "/usr")
106+
107+
ENDIF(WIN32)
108+
109+
IF(DEFINED USERLIB_ROOT) # Deprecated <= 3.1.3
110+
SET(USERLIB_PREFIX ${USERLIB_ROOT} CACHE PATH
111+
"Installation prefix of dependency libraries (by USERLIB_ROOT)")
112+
ELSE(DEFINED USERLIB_ROOT)
113+
SET(USERLIB_PREFIX ${USERLIB_PREFIX} CACHE PATH
114+
"Installation prefix of dependency libraries")
115+
ENDIF(DEFINED USERLIB_ROOT)
116+
117+
IF(WIN32)
118+
SET(BOOST_PREFIX_DEFAULT "c:/Program Files/Boost")
119+
OPTION(BOOST_DYNAMIC "Link to boost DLLs (OFF means static link)" OFF)
120+
ELSE(WIN32)
121+
SET(BOOST_PREFIX_DEFAULT ${USERLIB_PREFIX})
113122
ENDIF(WIN32)
114123

124+
IF(DEFINED BOOST_DIR) # Deprecated <= 3.1.3
125+
SET(BOOST_PREFIX ${BOOST_DIR} CACHE PATH
126+
"Installation prefix of boost libraries (by BOOST_DIR)")
127+
ELSE(DEFINED BOOST_DIR)
128+
SET(BOOST_PREFIX ${BOOST_PREFIX_DEFAULT} CACHE PATH
129+
"Installation prefix of boost libraries")
130+
ENDIF(DEFINED BOOST_DIR)
131+
132+
SET(FCGI_PREFIX ${USERLIB_PREFIX} CACHE PATH
133+
"Installation prefix of fcgi library (overrides USERLIB_PREFIX)")
134+
SET(POSTGRES_PREFIX ${USERLIB_PREFIX} CACHE PATH
135+
"Installation prefix of postgresql library (overrides USERLIB_PREFIX)")
136+
SET(MYSQL_PREFIX ${USERLIB_PREFIX} CACHE PATH
137+
"Installation prefix of mysql and mysql++ libraries "
138+
"(overrides USERLIB_PREFIX)")
139+
SET(SQLITE3_PREFIX ${USERLIB_PREFIX} CACHE PATH
140+
"Installation prefix of sqlite3 library (overrides USERLIB_PREFIX)")
141+
SET(HARU_PREFIX ${USERLIB_PREFIX} CACHE PATH
142+
"Installation prefix of libharu library (overrides USERLIB_PREFIX)")
143+
SET(SSL_PREFIX ${USERLIB_PREFIX} CACHE PATH
144+
"Installation prefix of SSL library (overrides USERLIB_PREFIX)")
145+
SET(ZLIB_PREFIX ${USERLIB_PREFIX} CACHE PATH
146+
"Installation prefix of zlib library (overrides USERLIB_PREFIX)")
147+
115148
OPTION(DEBUG "Support for debugging, must be enabled also in wt_config.xml" OFF)
116149
IF(CYGWIN)
117150
OPTION(BUILD_TESTS "Build Wt tests" OFF)

ReleaseNotes.html

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,133 @@ <h1>Wt Release notes</h1>
1919
the way you build Wt, the way you configure Wt or the Wt API and
2020
behaviour.
2121

22+
<h2>Release 3.1.4 (Aug 13, 2010)</h2>
23+
24+
<p>
25+
This release several new features, but also a few changes that
26+
break backwards compatibility (but are unlikely to affect an average
27+
application).
28+
</p>
29+
30+
<h3>A) New classes:</h3>
31+
32+
<dl>
33+
<dt><a href="classWt_1_1WBatchEditProxyModel.html">
34+
WBatchEditProxyModel</a></dt>
35+
<dd>A proxy model that caches editing operations to commit them atomically.
36+
</dd>
37+
<dt><a href="classWt_1_1WHTML5Audio.html">WHTML5Audio</a></dt>
38+
<dd>Audio support using the HTML5 audio tag.</dd>
39+
<dt><a href="classWt_1_1WPdfImage.html">WPdfImage</a></dt>
40+
<dd>A WPaintDevice that writes to Pdf (using libharu).</dd>
41+
<dt><a href="classWt_1_1WRasterImage.html">WRasterImage</a></dt>
42+
<dd>A WPaintDevice that writes to a Png/Gif (using GraphicsMagick).</dd>
43+
<dt>ISAPI connector</dt>
44+
<dd>(Windows only) a connector that implements the Microsoft ISAPI
45+
API, to integrate directly into Microsoft IIS. On Windows, this is
46+
an alternative deployment option next to the built-in httpd.</dd>
47+
</dl>
48+
49+
<h3>B) Main new features in existing classes:</h3>
50+
51+
<dl>
52+
<dt>
53+
<a href="classWt_1_1WAbstractItemView.html">WAbstractItemView</a>
54+
</dt>
55+
<dd>Added support for validators while editing.</dd>
56+
<dt>
57+
<a href="classWt_1_1WApplication.html#88b082dadadd3fb7dbe10887e7d89c91">WApplication</a>
58+
</dt>
59+
<dd>Added an appRoot() method this returns the value of the
60+
special property "approot" which can in some cases be defined
61+
implicitly by a connector (such as ISAPI), and which allows an
62+
application to reference working files whereas previously it was
63+
assumed that they were in the working directory (CWD).</dd>
64+
<dt>
65+
<a href="classWt_1_1WEnvironment.html#fd8726dfa8cabcb49895df4a6112ef48">WEnvironment::agent() and related</a>
66+
</dt>
67+
<dd>Convenience methods that return pre-parsed user agent identification,
68+
should you want to differentiate based on browser.</dd>
69+
<dt>
70+
<a href="classWt_1_1WWidget.html#bb5949e98f47edb7db98d7b6df07a31c">WWidget::addStyleClass()</a>, <a href="classWt_1_1WWidget.html#3b8a35e37ef06c408f346c63a5f1aa8e">WWidget::removeStyleClass()</a>
71+
</dt>
72+
<dd>Added addStyleClass() and removeStyleClass() methods.</dd>
73+
<dt>
74+
<a href="classWt_1_1WMenu.html">WMenu, WMenuItem</a>
75+
</dt>
76+
<dd>Added support for closable and disabled items (not complete,
77+
CSS is lacking for polished theme). Contributed by Dmitriy Igrishin.</dd>
78+
<dt>
79+
<a href="classWt_1_1WModelIndex.html#93c11e136a0fdc596eb745cc7fce7033">WModelIndex</a>
80+
</dt>
81+
<dd>Added support for in-place (destructive) encoding to and
82+
decoding from a raw index, making this less of a hassle for View
83+
classes.</dd>
84+
<dt>
85+
<a href="classWt_1_1WSortFilterProxyModel.html">WSortFilterProxyModel</a>
86+
</dt>
87+
<dd>Added support for row insertion/removal.</dd>
88+
<dt>
89+
<a href="classWt_1_1WSuggestionPopup.html">WSuggestionPopup</a>
90+
</dt>
91+
<dd>Allow usage as an advanced combo-box, with an explicit drop down
92+
button and ability to react to a selection.</dd>
93+
<dt>
94+
<a href="group__dbo.html#gc98c1f90b00ed9ce243c6412da3ac489">Dbo::id()</a>
95+
</dt>
96+
<dd>Support for natural keys (possibly of composite type) next to the
97+
built-in surrogate keys.</dd>
98+
<dt>
99+
<a href="structWt_1_1Dbo_1_1dbo__traits.html">Dbo::dbo_traits&lt;C&gt;</a>
100+
</dt>
101+
<dd>By specializing this traits class, you can modify the surrogate id
102+
field name (or disable it), and the optimistic version lock field
103+
name (or disable it).</dd>
104+
<dt>
105+
<a href="classWt_1_1Dbo_1_1Session.html#8712ff0d59f7bb6a4d2986ad9637cc9e">Dbo::Session::query()</a>
106+
</dt>
107+
<dd>More robust query parsing (of the 'select' part), including
108+
support for "select distinct".</dd>
109+
<dt>
110+
<a href="classWt_1_1Dbo_1_1QueryModel.html">Dbo::QueryModel</a>
111+
</dt>
112+
<dd>Added editing support (editing the model will modify the queried
113+
dbo's).</dd>
114+
<dt>
115+
<a href="structWt_1_1Dbo_1_1query__result__traits.html">Dbo::query_result_traits&lt;C&gt;</a>
116+
</dt>
117+
<dd>Added setValue(), create(), add() and remove() methods for modifying
118+
queried results.</dd>
119+
</dl>
120+
121+
<h3>C) Changes that break existing applications:</h3>
122+
123+
<dl>
124+
<dt><a href="structWt_1_1Dbo_1_1Dbo.html">Dbo::Dbo</a></dt>
125+
<dd>
126+
This class is now a templated with the class name itself, in
127+
order to provide the proper type for the (natural or surrogate) id
128+
field for id(). You will need to replace
129+
<pre>
130+
class User : public Wt::Dbo { ... }
131+
</pre>
132+
with
133+
<pre>
134+
class User : public Wt::Dbo&lt;User&gt; { ... }
135+
</pre>
136+
</dd>
137+
<dt>CSS</dt>
138+
<dd>The toplevel container used by Wt is now given a <tt>position:
139+
relative</tt> style; this was needed to be able to position widgets
140+
(such as popups) using <tt>position: absolute</tt>, but may break
141+
application layouts. You can override this CSS style by adding
142+
<tt>.Wt-domRoot { position: static; }</tt> to your application's
143+
(internal or external) stylesheet.
144+
</dd>
145+
</dl>
146+
147+
<hr />
148+
22149
<h2>Release 3.1.3 (May 20, 2010)</h2>
23150

24151
<p>

cmake/FindSqlite3.cmake

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
# - find Sqlite 3
2-
# SQLITE3_INCLUDE_DIR - Where to find Sqlite 3 header files (directory)
3-
# SQLITE3_LIBRARIES - Sqlite 3 libraries
4-
# SQLITE3_LIBRARY_RELEASE - Where the release library is
5-
# SQLITE3_LIBRARY_DEBUG - Where the debug library is
6-
# SQLITE3_FOUND - Set to TRUE if we found everything (library, includes and executable)
1+
# We define:
2+
# - SQLITE3_INCLUDE_DIR - Where to find Sqlite 3 header files (directory)
3+
# - SQLITE3_LIBRARIES - Sqlite 3 libraries
4+
# - SQLITE3_LIBRARY_RELEASE - Where the release library is
5+
# - SQLITE3_LIBRARY_DEBUG - Where the debug library is
6+
# - SQLITE3_FOUND - Set to TRUE if we found everything
7+
# (library, includes and executable)
8+
# Taking into account:
9+
# - SQLITE3_PREFIX
710

811
# Copyright (c) 2010 Pau Garcia i Quiles, <pgquiles@elpauer.org>
912
#
@@ -16,11 +19,26 @@ IF( SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY_RELEASE AND SQLITE3_LIBRARY_DEBUG )
1619
SET(SQLITE3_FIND_QUIETLY TRUE)
1720
ENDIF( SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY_RELEASE AND SQLITE3_LIBRARY_DEBUG )
1821

19-
FIND_PATH( SQLITE3_INCLUDE_DIR sqlite3.h )
22+
FIND_PATH(SQLITE3_INCLUDE_DIR
23+
sqlite3.h
24+
PATHS
25+
${SQLITE3_PREFIX}/include
26+
/usr/include
27+
/usr/local/include
28+
)
2029

21-
FIND_LIBRARY(SQLITE3_LIBRARY_RELEASE NAMES sqlite3 )
30+
FIND_LIBRARY(SQLITE3_LIBRARY_RELEASE
31+
NAMES
32+
sqlite3
33+
PATHS
34+
${SQLITE3_PREFIX}/lib
35+
)
2236

23-
FIND_LIBRARY(SQLITE3_LIBRARY_DEBUG NAMES sqlite3 HINTS /usr/lib/debug/usr/lib/ )
37+
FIND_LIBRARY(SQLITE3_LIBRARY_DEBUG
38+
NAMES
39+
sqlite3
40+
HINTS
41+
${SQLITE3_PREFIX}/lib/debug/usr/lib )
2442

2543
IF( SQLITE3_LIBRARY_RELEASE OR SQLITE3_LIBRARY_DEBUG AND SQLITE3_INCLUDE_DIR )
2644
SET( SQLITE3_FOUND TRUE )

cmake/WtFindBoost-cmake.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ ENDIF(NOT DEFINED Boost_ADDITIONAL_VERSIONS)
3838

3939
SET(Boost_USE_MULTITHREADED ON)
4040

41-
IF(DEFINED BOOST_DIR AND NOT DEFINED BOOST_ROOT)
42-
SET(BOOST_ROOT ${BOOST_DIR})
43-
ENDIF(DEFINED BOOST_DIR AND NOT DEFINED BOOST_ROOT)
41+
IF(DEFINED BOOST_PREFIX AND NOT DEFINED BOOST_ROOT)
42+
SET(BOOST_ROOT ${BOOST_PREFIX})
43+
ENDIF(DEFINED BOOST_PREFIX AND NOT DEFINED BOOST_ROOT)
4444

4545
IF(WIN32)
4646
IF(BOOST_DYNAMIC)

cmake/WtFindBoost-vintage.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
FIND_PATH(BOOST_INCLUDE_DIRS
2525
boost/lexical_cast.hpp
2626
PATHS
27-
${BOOST_DIR}/include
28-
${BOOST_DIR}/include/${BOOST_VERSION}
29-
${BOOST_DIR}/include/boost-${BOOST_VERSION}
30-
${BOOST_DIR}
27+
${BOOST_PREFIX}/include
28+
${BOOST_PREFIX}/include/${BOOST_VERSION}
29+
${BOOST_PREFIX}/include/boost-${BOOST_VERSION}
30+
${BOOST_PREFIX}
3131
NO_DEFAULT_PATH
3232
)
3333

34-
#SET (BOOST_LIB_DIRS "${BOOST_DIR}/lib ${BOOST_DIR}/lib64")
35-
SET (BOOST_LIB_DIRS ${BOOST_DIR}/lib)
34+
#SET (BOOST_LIB_DIRS "${BOOST_PREFIX}/lib ${BOOST_PREFIX}/lib64")
35+
SET (BOOST_LIB_DIRS ${BOOST_PREFIX}/lib)
3636

3737
IF(MSVC)
3838
# FIXME: write some TRY_COMPILEs here to verify that these libs exist

cmake/WtFindFcgi.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
# - FCGI_INCLUDE_DIRS
33
# - FCGI_LIBRARIES
44
# - FCGI_FOUND
5-
5+
#
6+
# Taking into account:
7+
# - FCGI_PREFIX
68

79
FIND_PATH(FCGI_INCLUDE_DIR
810
fcgio.h
@@ -13,15 +15,15 @@ FIND_PATH(FCGI_INCLUDE_DIR
1315
)
1416

1517
FIND_LIBRARY(FCGI_LIB fcgi
18+
${FCGI_PREFIX}/lib
1619
/usr/lib
1720
/usr/local/lib
18-
${USERLIB_ROOT}/lib
1921
)
2022

2123
FIND_LIBRARY(FCGIPP_LIB fcgi++
24+
${FCGI_PREFIX}/lib
2225
/usr/lib
2326
/usr/local/lib
24-
${USERLIB_ROOT}/lib
2527
)
2628

2729
SET(FCGI_FOUND FALSE)

cmake/WtFindGm.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
#
21
# We set:
32
# - GM_INCLUDE_DIRS
43
# - GM_LIBRARIES
54
# - GM_FOUND
6-
#
5+
# Taking into account:
6+
# - GM_PREFIX
77

88
FIND_PATH(GM_INCLUDE_DIR
99
magick/api.h
1010
PATHS
11-
${GM_ROOT}/include/GraphicsMagick/
12-
${GM_ROOT}/include/
11+
${GM_PREFIX}/include/GraphicsMagick/
12+
${GM_PREFIX}/include/
1313
/usr/include/GraphicsMagick/
1414
/usr/include/
1515
/usr/local/include/GraphicsMagick/
@@ -20,7 +20,7 @@ FIND_LIBRARY(GM_LIB
2020
NAMES
2121
GraphicsMagick
2222
PATHS
23-
${GM_ROOT}/lib
23+
${GM_PREFIX}/lib
2424
)
2525

2626
IF(GM_LIB AND GM_INCLUDE_DIR)

0 commit comments

Comments
 (0)