gnucash-on-windows master: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Tue Dec 8 14:14:44 EST 2015
Updated via https://github.com/Gnucash/gnucash-on-windows/commit/f028f410 (commit)
via https://github.com/Gnucash/gnucash-on-windows/commit/8c75a428 (commit)
via https://github.com/Gnucash/gnucash-on-windows/commit/3648da5b (commit)
via https://github.com/Gnucash/gnucash-on-windows/commit/7746c346 (commit)
from https://github.com/Gnucash/gnucash-on-windows/commit/ba67ee5d (commit)
commit f028f410c5c3d1f8e6ac25f47a298f8bf62fec23
Author: Rob Gowin <robgowin at gmail.com>
Date: Mon Dec 7 09:55:35 2015 -0600
undo previous perl path commit; do not use seperate cmake install dir
diff --git a/defaults.sh b/defaults.sh
index dfd7edf..f109293 100644
--- a/defaults.sh
+++ b/defaults.sh
@@ -48,7 +48,7 @@ else
fi
set_default BUILD_DIR $GNUCASH_DIR\\build
set_default INSTALL_DIR $GNUCASH_DIR\\inst
-set_default INSTALL_DIR_CMAKE $GNUCASH_DIR\\inst-cmake
+
set_default DIST_DIR $GNUCASH_DIR\\dist
set_default WITH_CUTECASH no
diff --git a/install-impl.sh b/install-impl.sh
index a0e7ebb..81fa9a7 100644
--- a/install-impl.sh
+++ b/install-impl.sh
@@ -1321,13 +1321,14 @@ function inst_cutecash() {
function inst_gnucash_using_cmake() {
setup "Gnucash (using cmake)"
- _INSTALL_UDIR=`unix_path $INSTALL_DIR_CMAKE`
+ _INSTALL_UDIR=`unix_path $INSTALL_DIR`
_BUILD_UDIR=`unix_path $GNUCASH_CMAKE_BUILD_DIR`
_GLOBAL_UDIR=`unix_path $GLOBAL_DIR`
_REPOS_UDIR=`unix_path $REPOS_DIR`
_NINJA_UDIR=`unix_path $NINJA_DIR`
_MSYS_UDIR=`unix_path $MSYS_DIR`
-
+ _LIBDBI_DRIVERS_UDIR=`unix_path ${LIBDBI_DRIVERS_DIR}`
+
mkdir -p $_BUILD_UDIR
add_to_env $_INSTALL_UDIR/bin PATH
@@ -1345,8 +1346,9 @@ function inst_gnucash_using_cmake() {
cmake -G "$CMAKE_GENERATOR" \
-D CMAKE_INSTALL_PREFIX=${_INSTALL_UDIR} \
-D CMAKE_PREFIX_PATH=${_GLOBAL_UDIR} \
- -D PERL_EXECUTABLE=${_MSYS_UDIR}/1.0/bin/perl \
+ -D PERL_EXECUTABLE=${_MSYS_UDIR}/bin/perl \
-D CMAKE_MAKE_PROGRAM=${_CMAKE_MAKE_PROGRAM} \
+ -D GNC_DBD_DIR=${_LIBDBI_DRIVERS_UDIR}/lib/dbd \
${_REPOS_UDIR}
${_CMAKE_MAKE_PROGRAM} install
qpopd
commit 8c75a428bed23dd1b51ffa7612ef075bf8377199
Author: Rob Gowin <robgowin at gmail.com>
Date: Mon Nov 30 10:04:19 2015 -0600
Oops. Got the path to perl wrong on cmake build
diff --git a/install-impl.sh b/install-impl.sh
index 4a37856..a0e7ebb 100644
--- a/install-impl.sh
+++ b/install-impl.sh
@@ -1345,7 +1345,7 @@ function inst_gnucash_using_cmake() {
cmake -G "$CMAKE_GENERATOR" \
-D CMAKE_INSTALL_PREFIX=${_INSTALL_UDIR} \
-D CMAKE_PREFIX_PATH=${_GLOBAL_UDIR} \
- -D PERL_EXECUTABLE=${_MSYS_UDIR}/bin/perl \
+ -D PERL_EXECUTABLE=${_MSYS_UDIR}/1.0/bin/perl \
-D CMAKE_MAKE_PROGRAM=${_CMAKE_MAKE_PROGRAM} \
${_REPOS_UDIR}
${_CMAKE_MAKE_PROGRAM} install
commit 3648da5bac28ab370d996ff11a331de3115306c7
Author: RobGowin <robgowin at gmail.com>
Date: Sun Nov 29 20:19:45 2015 -0600
Add support for building Gnucash using CMake and Ninja, disabled by default.
This commit adds in infrastructure necessary for building GnuCash using
CMake and Ninja. It is disabled by default with WITH_CMAKE=no and
WITH_NINJA=no.
File changes:
defaults.sh:
* add separate build and install directories for CMake build
* add WITH_CMAKE and WITH_NINJA defaults, set to no.
* update CMake version to 3.3.2
* add URL and directory for ninja.
devrc.sh:
* add CMAKE_DIR to point to CMake install
* add NINJA_DIR to point to Ninja install
* add above to PATH
install-impl.sh
* CMake download uses HTTPS, so need --no-check-certificate on wget
* Change directory handling to reflect use of version 3 of Cmake
* add function to download and install ninja
* add function to build gnucash using CMake and, optionally, ninja.
install.sh
* if WITH_CMAKE=yes, add step to install cmake
* if also WITH_NINJA=yes, add step to install ninja
* IF WITH_CMAKE=yes, install gnucash using CMake. Use
MSYS Makefiles it not using ninja.
diff --git a/defaults.sh b/defaults.sh
index 5c927ae..dfd7edf 100644
--- a/defaults.sh
+++ b/defaults.sh
@@ -48,10 +48,14 @@ else
fi
set_default BUILD_DIR $GNUCASH_DIR\\build
set_default INSTALL_DIR $GNUCASH_DIR\\inst
+set_default INSTALL_DIR_CMAKE $GNUCASH_DIR\\inst-cmake
set_default DIST_DIR $GNUCASH_DIR\\dist
set_default WITH_CUTECASH no
+set_default WITH_CMAKE no
+set_default WITH_NINJA no
set_default CUTECASH_BUILD_DIR $GNUCASH_DIR\\build-cutecash
+set_default GNUCASH_CMAKE_BUILD_DIR $GNUCASH_DIR\\build-cmake
####
@@ -368,9 +372,12 @@ set_default LIBDBI_DRIVERS_URL "$SF_MIRROR/libdbi-drivers/libdbi-drivers-0.8.3-1
set_default LIBDBI_DRIVERS_DIR $GLOBAL_DIR\\libdbi-drivers
set_default LIBDBI_DRIVERS_PATCH `pwd`/libdbi-drivers-errno.patch
-set_default CMAKE_URL "http://www.cmake.org/files/v2.8/cmake-2.8.0-win32-x86.zip"
+set_default CMAKE_URL "https://cmake.org/files/v3.3/cmake-3.3.2-win32-x86.zip"
set_default CMAKE_DIR $GLOBAL_DIR\\cmake
+set_default NINJA_URL "http://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip"
+set_default NINJA_DIR $GLOBAL_DIR\\ninja
+
set_default DOCBOOK_XSL_URL "$SF_MIRROR/docbook/docbook-xsl-1.76.1.zip"
set_default DOCBOOK_DTD_URL "http://www.oasis-open.org/docbook/xml/4.1.2/docbkx412.zip"
if [ "$REPOS_TYPE" = "git" ]; then
diff --git a/devrc.sh b/devrc.sh
index 73468d5..b1bdcda 100644
--- a/devrc.sh
+++ b/devrc.sh
@@ -28,6 +28,7 @@ export OLDPATH=$PATH
GLOBAL_UDIR="/c/gcdev"
AQBANKING_UDIR=$GLOBAL_UDIR/aqbanking
+CMAKE_UDIR=$GLOBAL_UDIR/cmake
GWENHYWFAR_UDIR=$GLOBAL_UDIR/gwenhywfar
ENCHANT_UDIR=$GLOBAL_UDIR/enchant
GNOME_UDIR=$GLOBAL_UDIR/gnome
@@ -41,6 +42,7 @@ LIBOFX_UDIR=$GLOBAL_UDIR/libofx
LIBSOUP_UDIR=$GLOBAL_UDIR/libsoup
LIBXSLT_UDIR=$GLOBAL_UDIR/libxslt
MYSQL_UDIR=$GLOBAL_UDIR/mysql
+NINJA_UDIR=$GLOBAL_UDIR/ninja
OPENSP_UDIR=$GLOBAL_UDIR/opensp
PCRE_UDIR=$GLOBAL_UDIR/pcre
PGSQL_UDIR=$GLOBAL_UDIR/pgsql
@@ -50,7 +52,7 @@ SWIG_UDIR=$GLOBAL_UDIR/swig
WEBKIT_UDIR=$GLOBAL_UDIR/webkit
BOOST_UDIR=$GLOBAL_UDIR/boost
-PATH=$AQBANKING_UDIR/bin:$GWENHYWFAR_UDIR/bin:$ENCHANT_UDIR/bin:$GNOME_UDIR/bin:$GNUCASH_UDIR/bin:$GNUCASH_UDIR/lib:$GNUTLS_UDIR/bin:$GOFFICE_UDIR/bin:$GUILE_UDIR/bin:$LIBDBI_UDIR/bin:$LIBGSF_UDIR/bin:$LIBOFX_UDIR/bin:$LIBSOUP_UDIR/bin:$LIBXSLT_UDIR/bin:$MYSQL_UDIR/bin:$MYSQL_UDIR/lib:$OPENSP_UDIR/bin:$PCRE_UDIR/bin:$PGSQL_UDIR/bin:$PGSQL_UDIR/lib:$REGEX_UDIR/bin:$SQLITE3_UDIR/bin:$SWIG_UDIR:$WEBKIT_UDIR/bin:$BOOST_UDIR/lib
+PATH=$AQBANKING_UDIR/bin:$CMAKE_UDIR/bin:$GWENHYWFAR_UDIR/bin:$ENCHANT_UDIR/bin:$GNOME_UDIR/bin:$GNUCASH_UDIR/bin:$GNUCASH_UDIR/lib:$GNUTLS_UDIR/bin:$GOFFICE_UDIR/bin:$GUILE_UDIR/bin:$LIBDBI_UDIR/bin:$LIBGSF_UDIR/bin:$LIBOFX_UDIR/bin:$LIBSOUP_UDIR/bin:$LIBXSLT_UDIR/bin:$MYSQL_UDIR/bin:$MYSQL_UDIR/lib:$NINJA_UDIR:$OPENSP_UDIR/bin:$PCRE_UDIR/bin:$PGSQL_UDIR/bin:$PGSQL_UDIR/lib:$REGEX_UDIR/bin:$SQLITE3_UDIR/bin:$SWIG_UDIR:$WEBKIT_UDIR/bin:$BOOST_UDIR/lib
PATH=$PATH:$OLDPATH
diff --git a/install-impl.sh b/install-impl.sh
index e61266b..4a37856 100644
--- a/install-impl.sh
+++ b/install-impl.sh
@@ -95,16 +95,33 @@ function inst_cmake() {
then
echo "cmake already installed in $_CMAKE_UDIR. skipping."
else
+ WGET_EXTRA_OPTIONS="--no-check-certificate"
wget_unpacked $CMAKE_URL $DOWNLOAD_DIR $CMAKE_DIR
-
- assert_one_dir ${_CMAKE_UDIR}/cmake-2*
- mv ${_CMAKE_UDIR}/cmake-2*/* ${_CMAKE_UDIR}
- rm -rf ${_CMAKE_UDIR}/cmake-2*
+ unset WGET_EXTRA_OPTIONS
+ assert_one_dir ${_CMAKE_UDIR}/cmake-3*
+ mv ${_CMAKE_UDIR}/cmake-3*/* ${_CMAKE_UDIR}
+ rm -rf ${_CMAKE_UDIR}/cmake-3*
[ -f ${_CMAKE_UDIR}/bin/cmake.exe ] || die "cmake not installed correctly"
fi
}
+function inst_ninja() {
+ setup Ninja
+ _NINJA_UDIR=`unix_path ${NINJA_DIR}`
+ add_to_env ${_NINJA_UDIR} PATH
+ if [ -f ${_NINJA_UDIR}/ninja.exe ]
+ then
+ echo "ninja already install in $_NINJA_UDIR. skipping."
+ else
+ WGET_EXTRA_OPTIONS="--no-check-certificate -O $TMP_DIR\\$(basename $NINJA_URL)"
+ wget_unpacked $NINJA_URL $DOWNLOAD_DIR $NINJA_DIR
+ unset WGET_EXTRA_OPTIONS
+
+ [ -f ${_NINJA_UDIR}/ninja.exe ] || die "ninja not installed correctly"
+ fi
+}
+
function inst_exetype() {
setup exetype
_EXETYPE_UDIR=`unix_path $EXETYPE_DIR`
@@ -1302,6 +1319,39 @@ function inst_cutecash() {
qpopd
}
+function inst_gnucash_using_cmake() {
+ setup "Gnucash (using cmake)"
+ _INSTALL_UDIR=`unix_path $INSTALL_DIR_CMAKE`
+ _BUILD_UDIR=`unix_path $GNUCASH_CMAKE_BUILD_DIR`
+ _GLOBAL_UDIR=`unix_path $GLOBAL_DIR`
+ _REPOS_UDIR=`unix_path $REPOS_DIR`
+ _NINJA_UDIR=`unix_path $NINJA_DIR`
+ _MSYS_UDIR=`unix_path $MSYS_DIR`
+
+ mkdir -p $_BUILD_UDIR
+ add_to_env $_INSTALL_UDIR/bin PATH
+
+ if [ "$BUILD_FROM_TARBALL" != "yes" ]; then
+ qpushd $REPOS_DIR
+ $GIT_CMD checkout $GNUCASH_SCM_REV
+ qpopd
+ fi
+
+ _CMAKE_MAKE_PROGRAM=$_MSYS_UDIR/bin/make
+ if [ "$CMAKE_GENERATOR" = "Ninja" ]; then
+ _CMAKE_MAKE_PROGRAM=$_NINJA_UDIR/ninja.exe
+ fi
+ qpushd $_BUILD_UDIR
+ cmake -G "$CMAKE_GENERATOR" \
+ -D CMAKE_INSTALL_PREFIX=${_INSTALL_UDIR} \
+ -D CMAKE_PREFIX_PATH=${_GLOBAL_UDIR} \
+ -D PERL_EXECUTABLE=${_MSYS_UDIR}/bin/perl \
+ -D CMAKE_MAKE_PROGRAM=${_CMAKE_MAKE_PROGRAM} \
+ ${_REPOS_UDIR}
+ ${_CMAKE_MAKE_PROGRAM} install
+ qpopd
+}
+
function inst_gnucash() {
setup GnuCash
_INSTALL_WFSDIR=`win_fs_path $INSTALL_DIR`
diff --git a/install.sh b/install.sh
index 0208432..354c2ac 100644
--- a/install.sh
+++ b/install.sh
@@ -107,7 +107,19 @@ if [ "$WITH_CUTECASH" = "yes" ]; then
add_step inst_cmake
add_step inst_cutecash
fi
-add_step inst_gnucash
+
+if [ "$WITH_CMAKE" = "yes" ]; then
+ add_step inst_cmake
+ CMAKE_GENERATOR="MSYS Makefiles"
+ if [ "$WITH_NINJA" = "yes" ]; then
+ add_step inst_ninja
+ CMAKE_GENERATOR="Ninja"
+ fi
+ add_step inst_gnucash_using_cmake
+else
+ add_step inst_gnucash
+fi
+
if [ "$CROSS_COMPILE" != "yes" ]; then
add_step inst_inno
fi
commit 7746c346fd55cc3144f652a8c25c8c13f6029c4a
Author: John Ralls <jralls at ceridwen.us>
Date: Thu Sep 24 14:13:49 2015 -0700
Bug 724721 - Win32: use cpan instead of ppm to get finance-quote
Plus related cleanup.
diff --git a/extra_dist/install-fq-mods.cmd b/extra_dist/install-fq-mods.cmd
index da44975..f7ce2c0 100644
--- a/extra_dist/install-fq-mods.cmd
+++ b/extra_dist/install-fq-mods.cmd
@@ -69,16 +69,16 @@ set _perlminor=%errorlevel%
if %_perlmajor% equ 5 (
if %_perlminor% geq 10 (
set _perlversion=5.10
- goto pchk
+ goto install
)
if %_perlminor% equ 8 (
set _perlversion=5.8
- goto pchk
+ goto install
)
REM Note: GnuCash no longer "officially" supports perl 5.6, but as long as it works it will be allowed...
if %_perlminor% equ 6 (
set _perlversion=5.6
- goto pchk
+ goto install
)
)
echo.
@@ -98,38 +98,14 @@ REM perl -w gnc-path-check
REM if %errorlevel% neq 0 goto error
REM ----------------------------------------------------------------------------
-echo.
-echo * Determine which Perl flavour we have found
-echo.
-perl -e "use Win32;if(defined &Win32::BuildNumber){exit 2;}else{exit 3;};"
-REM echo status = %errorlevel%
-if %errorlevel% equ 2 (
- echo - ActivePerl
- goto inst_mod_as
-) else if %errorlevel% equ 3 (
- echo - Other, probably Strawberry perl ?
- goto inst_mod_oth
-) else if %errorlevel% neq 0 goto error
-
-REM ----------------------------------------------------------------------------
-:inst_mod_oth
+:install
echo.
echo * Install required perl modules
echo.
perl -w gnc-fq-update
if %errorlevel% neq 0 goto error
-goto fqchk
-
-REM ----------------------------------------------------------------------------
-:inst_mod_as
-echo.
-echo * Install Finance-Quote
-echo.
-perl -x -S ppm install Finance-Quote
-if %errorlevel% neq 0 goto error
REM ----------------------------------------------------------------------------
-:fqchk
echo.
echo * Run gnc-fq-check
echo.
Summary of changes:
defaults.sh | 9 ++++++-
devrc.sh | 4 ++-
extra_dist/install-fq-mods.cmd | 32 +++-------------------
install-impl.sh | 60 +++++++++++++++++++++++++++++++++++++++---
install.sh | 14 +++++++++-
5 files changed, 84 insertions(+), 35 deletions(-)
More information about the gnucash-changes
mailing list