diff options
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | 0004-fix-build-for-i686.patch | 140 | ||||
-rw-r--r-- | 0005-gdal-use-CPLFree.patch | 62 | ||||
-rw-r--r-- | 0006-mysql-include-my_dir.patch | 12 | ||||
-rw-r--r-- | 0007-gdal-json-c-0-13.patch | 111 | ||||
-rw-r--r-- | PKGBUILD | 44 |
6 files changed, 228 insertions, 159 deletions
@@ -1,11 +1,8 @@ -# Generated by mksrcinfo v8 -# Thu Feb 9 09:28:00 UTC 2017 pkgbase = mysql-workbench-git pkgdesc = A cross-platform, visual database design tool developed by MySQL - git checkout pkgver = 6.3.9.r0.g1972008 pkgrel = 1 url = https://www.mysql.com/products/workbench/ - arch = i686 arch = x86_64 license = GPL2 makedepends = git @@ -35,6 +32,8 @@ pkgbase = mysql-workbench-git depends = tinyxml depends = unixodbc depends = vsqlite++ + depends = proj + depends = json-c optdepends = gnome-keyring: store SSH/MySQL passwords in GNOME password manager optdepends = python2-pyodbc: database migration provides = mysql-workbench @@ -42,24 +41,29 @@ pkgbase = mysql-workbench-git source = git://github.com/mysql/mysql-workbench.git source = git://github.com/mysql/mysql-server.git source = git://github.com/mysql/mysql-connector-cpp.git - source = http://download.osgeo.org/gdal/2.1.3/gdal-2.1.3.tar.xz + source = http://download.osgeo.org/gdal/2.2.3/gdal-2.2.3.tar.xz source = https://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.bz2 source = http://www.antlr3.org/download/antlr-3.4-complete.jar source = 0001-mysql-workbench-no-check-for-updates.patch source = 0002-disable-unsupported-operating-system-warning.patch source = 0003-add-option-to-hide-nonstandard-server-warning.patch - source = 0004-fix-build-for-i686.patch + source = 0005-gdal-use-CPLFree.patch + source = 0006-mysql-include-my_dir.patch + source = 0007-gdal-json-c-0-13.patch source = arch_linux_profile.xml + validpgpkeys = A4A9406876FCBD3C456770C88C718D3B5072E1F5 sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP - sha256sums = b489793627e6cb8d2ff8d7737b61daf58382fe189fae4c581ddfd48c04b49005 + sha256sums = a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b sha256sums = 727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca sha256sums = 9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7 sha256sums = b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf sha256sums = 0d65832bc5a73d4cfecef4b552bb78a30ce6020a5fabe5558dcf2ade8341b593 sha256sums = 3c9097af599f08388c471d6fd02f40ea72e5759eaa89f731e662852a5e67feea - sha256sums = 68295716c55e5f7b07b3ec1162b512b33a0563952a0eb4ef6fd71d852c61de11 + sha256sums = 0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531 + sha256sums = d97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436 + sha256sums = 7000da5a03b7a44b26d86653104558798879ce9a2f6e7e1b929f8f9fcabdf33f sha256sums = 2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af pkgname = mysql-workbench-git diff --git a/0004-fix-build-for-i686.patch b/0004-fix-build-for-i686.patch deleted file mode 100644 index cf4364f4e55a..000000000000 --- a/0004-fix-build-for-i686.patch +++ /dev/null @@ -1,140 +0,0 @@ -From af2bff95077b376a21ba815505589f4ad6b62140 Mon Sep 17 00:00:00 2001 -From: Christian Hesse <mail@eworm.de> -Date: Tue, 7 Feb 2017 23:10:23 +0100 -Subject: [PATCH 1/1] fix build for i686 - -Signed-off-by: Christian Hesse <mail@eworm.de> ---- - library/base/jsonparser.cpp | 6 ++++-- - library/forms/jsonview.cpp | 12 ++++++++++++ - 2 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/library/base/jsonparser.cpp b/library/base/jsonparser.cpp -index 6ed4b3f..fb4e055 100644 ---- a/library/base/jsonparser.cpp -+++ b/library/base/jsonparser.cpp -@@ -343,7 +343,7 @@ namespace JsonParser { - */ - JsonValue &JsonArray::at(SizeType pos) { - if (pos > _data.size()) -- throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos)); -+ throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos)); - return _data.at(pos); - } - -@@ -358,7 +358,7 @@ namespace JsonParser { - */ - const JsonValue &JsonArray::at(SizeType pos) const { - if (pos > _data.size()) -- throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos)); -+ throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos)); - return _data.at(pos); - } - -@@ -1668,12 +1668,14 @@ namespace JsonParser { - case VDouble: - _output += std::to_string((double)value); - break; -+#ifdef DEFINE_UINT64_T_FUNCTIONS - case VInt64: - _output += std::to_string((int64_t)value); - break; - case VUint64: - _output += std::to_string((uint64_t)value); - break; -+#endif - case VObject: - write((JsonObject)value); - break; -diff --git a/library/forms/jsonview.cpp b/library/forms/jsonview.cpp -index 1259427..2d50491 100644 ---- a/library/forms/jsonview.cpp -+++ b/library/forms/jsonview.cpp -@@ -651,8 +651,10 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const - if (data != nullptr) { - std::stringstream buffer; - double number = 0; -+#ifdef DEFINE_UINT64_T_FUNCTIONS - int64_t number2 = 0; - uint64_t number3 = 0; -+#endif - bool retBool = false; - auto &storedValue = data->getData(); - switch (storedValue.getType()) { -@@ -664,6 +666,7 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const - storedValue = number; - setData = true; - break; -+#ifdef DEFINE_UINT64_T_FUNCTIONS - case VInt64: - if (!base::is_number(value)) - break; -@@ -680,6 +683,7 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const - storedValue = number3; - setData = true; - break; -+#endif - case VBoolean: - if (!base::isBool(value)) - break; -@@ -1073,6 +1077,7 @@ void JsonTreeView::generateNumberInTree(JsonParser::JsonValue &value, int /*colu - node->set_string(1, std::to_string((double)value)); - node->set_string(2, "Double"); - break; -+#ifdef DEFINE_UINT64_T_FUNCTIONS - case VInt64: - node->set_string(1, std::to_string((int64_t)value)); - node->set_string(2, "Long Integer"); -@@ -1081,6 +1086,7 @@ void JsonTreeView::generateNumberInTree(JsonParser::JsonValue &value, int /*colu - node->set_string(1, std::to_string((uint64_t)value)); - node->set_string(2, "Unsigned Long Integer"); - break; -+#endif - default: - break; - } -@@ -1322,8 +1328,10 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std: - if (data != NULL) { - std::stringstream buffer; - double number = 0; -+#ifdef DEFINE_UINT64_T_FUNCTIONS - int64_t number2 = 0; - uint64_t number3 = 0; -+#endif - bool retBool = false; - switch (storedValue.getType()) { - case VDouble: -@@ -1334,6 +1342,7 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std: - storedValue = number; - node->set_float(column, number); - _dataChanged(false); -+#ifdef DEFINE_UINT64_T_FUNCTIONS - case VInt64: - if (!base::is_number(value)) - break; -@@ -1352,6 +1361,7 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std: - node->set_float(column, (double)number3); - _dataChanged(false); - break; -+#endif - case VBoolean: - if (!base::isBool(value)) - break; -@@ -1611,12 +1621,14 @@ void JsonGridView::generateNumberInTree(JsonParser::JsonValue &value, int column - case VDouble: - node->set_float(columnId, (double)value); - break; -+#ifdef DEFINE_UINT64_T_FUNCTIONS - case VInt64: - node->set_long(columnId, (int64_t)value); - break; - case VUint64: - node->set_long(columnId, (uint64_t)value); - break; -+#endif - default: - break; - } --- -2.11.1 - diff --git a/0005-gdal-use-CPLFree.patch b/0005-gdal-use-CPLFree.patch new file mode 100644 index 000000000000..4893149c1e16 --- /dev/null +++ b/0005-gdal-use-CPLFree.patch @@ -0,0 +1,62 @@ +From 97d26e5edfccead3fe3a10b732de51caa427eb60 Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@eworm.de> +Date: Tue, 16 May 2017 09:31:39 +0200 +Subject: [PATCH 1/1] gdal: use CPLFree() + +OGRFree() is deprecated as of gdal 2.2.0, so use CPLFree() instead. + +Signed-off-by: Christian Hesse <mail@eworm.de> +--- + backend/wbpublic/grt/spatial_handler.cpp | 4 ++-- + backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp | 6 +++--- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/backend/wbpublic/grt/spatial_handler.cpp b/backend/wbpublic/grt/spatial_handler.cpp +index 9b357603..ee36fa03 100644 +--- a/backend/wbpublic/grt/spatial_handler.cpp ++++ b/backend/wbpublic/grt/spatial_handler.cpp +@@ -443,7 +443,7 @@ spatial::Importer::Importer() : _geometry(NULL), _interrupt(false), _srid(0) { + + spatial::Importer::~Importer() { + if (_geometry != NULL) +- OGRFree(_geometry); ++ CPLFree(_geometry); + } + + OGRGeometry *spatial::Importer::steal_data() { +@@ -495,7 +495,7 @@ std::string spatial::Importer::as_wkt() { + logError("Error exporting data to WKT (%i)\n", err); + } else { + std::string tmp(data); +- OGRFree(data); ++ CPLFree(data); + return tmp; + } + } +diff --git a/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp b/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp +index d2eb8495..7a7948bf 100644 +--- a/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp ++++ b/backend/wbpublic/objimpl/db.query/db_query_Resultset.cpp +@@ -47,7 +47,7 @@ static grt::StringRef getGeoRepresentation(grt::StringRef data, bool outputAsJso + OGRGeometryFactory::createFromWkb((unsigned char *)const_cast<char *>(&(*((*data).begin() + 4))), NULL, &geometry); + if (ret_val != OGRERR_NONE) { + if (geometry) +- OGRFree(geometry); ++ CPLFree(geometry); + throw std::exception(); + } + +@@ -61,8 +61,8 @@ static grt::StringRef getGeoRepresentation(grt::StringRef data, bool outputAsJso + + if (err == OGRERR_NONE && data != NULL) { + grt::StringRef tmp(data); +- OGRFree(data); +- OGRFree(geometry); ++ CPLFree(data); ++ CPLFree(geometry); + return tmp; + } else + throw std::runtime_error("Conversion of OGR geometry data failed"); +-- +2.13.0 + diff --git a/0006-mysql-include-my_dir.patch b/0006-mysql-include-my_dir.patch new file mode 100644 index 000000000000..3e220f86b468 --- /dev/null +++ b/0006-mysql-include-my_dir.patch @@ -0,0 +1,12 @@ +diff --git a/mysys/my_symlink.c b/mysys/my_symlink.c +index ab0d76e91d0..b96d78e8c17 100644 +--- a/mysys/my_symlink.c ++++ b/mysys/my_symlink.c +@@ -23,6 +23,7 @@ + #include <sys/param.h> + #include <sys/stat.h> + #endif ++#include <my_dir.h> + + /* + Reads the content of a symbolic link diff --git a/0007-gdal-json-c-0-13.patch b/0007-gdal-json-c-0-13.patch new file mode 100644 index 000000000000..6101b8c0fe5e --- /dev/null +++ b/0007-gdal-json-c-0-13.patch @@ -0,0 +1,111 @@ +From 05a1fd773c8f418ee9765465fc4863c1d6472a4c Mon Sep 17 00:00:00 2001 +From: Even Rouault <even.rouault@mines-paris.org> +Date: Fri, 5 Jan 2018 18:08:49 +0000 +Subject: [PATCH] =?UTF-8?q?Add=20support=20for=20json-c=20v0.13=20(patch?= + =?UTF-8?q?=20by=20Bj=C3=B6rn=20Esser,=20fixes=20=E2=80=8Bhttps://github.c?= + =?UTF-8?q?om/OSGeo/gdal/pull/277,=20backport=20of=20r41043,=20fixes=20#71?= + =?UTF-8?q?95)?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: https://svn.osgeo.org/gdal/branches/2.2@41200 f0d54148-0727-0410-94bb-9a71ac55c965 +--- + gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp | 30 +++++++++++++++++------ + 1 file changed, 22 insertions(+), 8 deletions(-) + +diff --git a/gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp b/gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp +index fdf4b77b459..f8937885c76 100644 +--- a/gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp ++++ b/gdal/ogr/ogrsf_frmts/geojson/ogrgeojsonwriter.cpp +@@ -27,12 +27,18 @@ + * DEALINGS IN THE SOFTWARE. + ****************************************************************************/ + ++#define JSON_C_VER_013 (13 << 8) ++ + #include "ogrgeojsonwriter.h" + #include "ogrgeojsonutils.h" + #include "ogr_geojson.h" + #include "ogrgeojsonreader.h" + #include <json.h> // JSON-C ++ ++#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) + #include <json_object_private.h> ++#endif ++ + #include <printbuf.h> + #include <ogr_api.h> + #include <ogr_p.h> +@@ -1381,13 +1387,17 @@ static int OGR_json_double_with_precision_to_string( struct json_object *jso, + { + // TODO(schwehr): Explain this casting. + const int nPrecision = ++#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) + static_cast<int>(reinterpret_cast<GUIntptr_t>(jso->_userdata)); ++#else ++ static_cast<int>(reinterpret_cast<GUIntptr_t>(json_object_get_userdata(jso))); ++#endif + char szBuffer[75] = {}; +- OGRFormatDouble( szBuffer, sizeof(szBuffer), jso->o.c_double, '.', ++ OGRFormatDouble( szBuffer, sizeof(szBuffer), json_object_get_double(jso), '.', + (nPrecision < 0) ? 15 : nPrecision ); + if( szBuffer[0] == 't' /*oobig */ ) + { +- CPLsnprintf(szBuffer, sizeof(szBuffer), "%.18g", jso->o.c_double); ++ CPLsnprintf(szBuffer, sizeof(szBuffer), "%.18g", json_object_get_double(jso)); + } + return printbuf_memappend(pb, szBuffer, static_cast<int>(strlen(szBuffer))); + } +@@ -1417,11 +1427,11 @@ OGR_json_double_with_significant_figures_to_string( struct json_object *jso, + { + char szBuffer[75] = {}; + int nSize = 0; +- if( CPLIsNan(jso->o.c_double)) ++ if( CPLIsNan(json_object_get_double(jso))) + nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "NaN"); +- else if( CPLIsInf(jso->o.c_double) ) ++ else if( CPLIsInf(json_object_get_double(jso)) ) + { +- if( jso->o.c_double > 0 ) ++ if( json_object_get_double(jso) > 0 ) + nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "Infinity"); + else + nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), "-Infinity"); +@@ -1429,13 +1439,17 @@ OGR_json_double_with_significant_figures_to_string( struct json_object *jso, + else + { + char szFormatting[32] = {}; ++#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) + const int nSignificantFigures = (int) (GUIntptr_t) jso->_userdata; ++#else ++ const int nSignificantFigures = (int) (GUIntptr_t) json_object_get_userdata(jso); ++#endif + const int nInitialSignificantFigures = + nSignificantFigures >= 0 ? nSignificantFigures : 17; + CPLsnprintf(szFormatting, sizeof(szFormatting), + "%%.%dg", nInitialSignificantFigures); + nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), +- szFormatting, jso->o.c_double); ++ szFormatting, json_object_get_double(jso)); + const char* pszDot = NULL; + if( nSize+2 < static_cast<int>(sizeof(szBuffer)) && + (pszDot = strchr(szBuffer, '.')) == NULL ) +@@ -1457,7 +1471,7 @@ OGR_json_double_with_significant_figures_to_string( struct json_object *jso, + CPLsnprintf(szFormatting, sizeof(szFormatting), + "%%.%dg", nInitialSignificantFigures- i); + nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), +- szFormatting, jso->o.c_double); ++ szFormatting, json_object_get_double(jso)); + pszDot = strchr(szBuffer, '.'); + if( pszDot != NULL && + strstr(pszDot, "999999") == NULL && +@@ -1472,7 +1486,7 @@ OGR_json_double_with_significant_figures_to_string( struct json_object *jso, + CPLsnprintf(szFormatting, sizeof(szFormatting), + "%%.%dg", nInitialSignificantFigures); + nSize = CPLsnprintf(szBuffer, sizeof(szBuffer), +- szFormatting, jso->o.c_double); ++ szFormatting, json_object_get_double(jso)); + if( nSize+2 < static_cast<int>(sizeof(szBuffer)) && + strchr(szBuffer, '.') == NULL ) + { @@ -8,16 +8,16 @@ pkgname=mysql-workbench-git pkgver=6.3.9.r0.g1972008 pkgrel=1 # mysql & mysql-connector-c++ from git -_gdal_version=2.1.3 +_gdal_version=2.2.3 _boost_version=1.59.0 pkgdesc='A cross-platform, visual database design tool developed by MySQL - git checkout' -arch=('i686' 'x86_64') +arch=('x86_64') url='https://www.mysql.com/products/workbench/' license=('GPL2') depends=('cairo' 'ctemplate' 'desktop-file-utils' 'freetype2' 'gtkmm3' 'hicolor-icon-theme' 'libgl' 'libgnome-keyring' 'libiodbc' 'libxml2' 'libzip' 'mysql-python' 'pcre' 'python2' 'python2-cairo' 'python2-paramiko' - 'python2-pexpect' 'tinyxml' 'unixodbc' 'vsqlite++') + 'python2-pexpect' 'tinyxml' 'unixodbc' 'vsqlite++' 'proj' 'json-c') optdepends=('gnome-keyring: store SSH/MySQL passwords in GNOME password manager' 'python2-pyodbc: database migration') provides=('mysql-workbench') @@ -33,18 +33,22 @@ source=('git://github.com/mysql/mysql-workbench.git' '0001-mysql-workbench-no-check-for-updates.patch' '0002-disable-unsupported-operating-system-warning.patch' '0003-add-option-to-hide-nonstandard-server-warning.patch' - '0004-fix-build-for-i686.patch' + '0005-gdal-use-CPLFree.patch' + '0006-mysql-include-my_dir.patch' + '0007-gdal-json-c-0-13.patch' 'arch_linux_profile.xml') sha256sums=('SKIP' 'SKIP' 'SKIP' - 'b489793627e6cb8d2ff8d7737b61daf58382fe189fae4c581ddfd48c04b49005' + 'a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b' '727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca' '9d3e866b610460664522520f73b81777b5626fb0a282a5952b9800b751550bf7' 'b189e15c6b6f5a707357d9a9297f39ee3a33264fd28b44d5de6f537f851f82cf' '0d65832bc5a73d4cfecef4b552bb78a30ce6020a5fabe5558dcf2ade8341b593' '3c9097af599f08388c471d6fd02f40ea72e5759eaa89f731e662852a5e67feea' - '68295716c55e5f7b07b3ec1162b512b33a0563952a0eb4ef6fd71d852c61de11' + '0965b4f12a0ae26bea131f05c7383d4a9b068d556b092ad23e19e1d8f6895531' + 'd97a1fec15e0dc4491e79ce380f6f994f1c4b387d960c13e178a18b0299c0436' + '7000da5a03b7a44b26d86653104558798879ce9a2f6e7e1b929f8f9fcabdf33f' '2ade582ca25f6d6d748bc84a913de39b34dcaa6e621a77740fe143007f2833af') pkgver() { @@ -63,6 +67,16 @@ pkgver() { } prepare() { + cd "${srcdir}/mysql-server/" + + # fix build without server + patch -Np1 < "${srcdir}"/0006-mysql-include-my_dir.patch + + cd "${srcdir}/gdal-${_gdal_version}" + + # Add support for json-c v0.13 + patch -Np2 < "${srcdir}"/0007-gdal-json-c-0-13.patch + cd "${srcdir}/mysql-workbench/" # Disable 'Help' -> 'Check for Updates' @@ -75,8 +89,14 @@ prepare() { # add option to hide nonstandard server warning patch -Np1 < "${srcdir}"/0003-add-option-to-hide-nonstandard-server-warning.patch - # fix build for i686 - patch -Np1 < "${srcdir}"/0004-fix-build-for-i686.patch + # gdal: use CPLFree() + patch -Np1 < "${srcdir}"/0005-gdal-use-CPLFree.patch + + # GCC 7.x introduced some new warnings, remove '-Werror' for the build to complete + sed -i '/^set/s|-Werror -Wall|-Wall|' CMakeLists.txt + + # GCC 7.x complains about unsupported flag + sed -i 's|-Wno-deprecated-register||' ext/scintilla/gtk/CMakeLists.txt # we need python 2.x sed -i '/^FIND_PROGRAM(PYTHON_EXEC /c FIND_PROGRAM(PYTHON_EXEC "python2")' \ @@ -84,16 +104,16 @@ prepare() { # put antlr into place install -D ${srcdir}/antlr-3.4-complete.jar ${srcdir}/linux-res/bin/antlr-3.4-complete.jar + + # make sure to link against bundled libraries + sed -i "/target_link_libraries/s|\\$|-L${srcdir}/install-bundle/usr/lib/ \\$|" backend/wbpublic/CMakeLists.txt } build() { - # this uses deprecated auto_ptr... - # we known that, so do not flood the logs - CXXFLAGS="${CXXFLAGS} -Wno-deprecated-declarations" - # Build mysql cd "${srcdir}/mysql-server/" cmake . \ + -DWITHOUT_SERVER=ON \ -DBUILD_CONFIG=mysql_release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ |