Return-Path: X-Original-To: apmail-cordova-commits-archive@www.apache.org Delivered-To: apmail-cordova-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E804E11A9B for ; Tue, 26 Aug 2014 20:46:34 +0000 (UTC) Received: (qmail 91985 invoked by uid 500); 26 Aug 2014 20:46:34 -0000 Delivered-To: apmail-cordova-commits-archive@cordova.apache.org Received: (qmail 91919 invoked by uid 500); 26 Aug 2014 20:46:34 -0000 Mailing-List: contact commits-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list commits@cordova.apache.org Received: (qmail 91849 invoked by uid 99); 26 Aug 2014 20:46:34 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Aug 2014 20:46:34 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 479DF9CEDBF; Tue, 26 Aug 2014 20:46:34 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: steven@apache.org To: commits@cordova.apache.org Date: Tue, 26 Aug 2014 20:46:42 -0000 Message-Id: <8fcc44ffda2040acaf0f71c9c8c4affb@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [09/15] git commit: use different compiler flags for debug/release build use different compiler flags for debug/release build Project: http://git-wip-us.apache.org/repos/asf/cordova-ubuntu/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-ubuntu/commit/91aa1ea9 Tree: http://git-wip-us.apache.org/repos/asf/cordova-ubuntu/tree/91aa1ea9 Diff: http://git-wip-us.apache.org/repos/asf/cordova-ubuntu/diff/91aa1ea9 Branch: refs/heads/master Commit: 91aa1ea98977a937193a82594a9128e06ac78dcf Parents: 8978638 Author: Maxim Ermilov Authored: Sun Jun 22 04:36:27 2014 +0400 Committer: Maxim Ermilov Committed: Tue Aug 19 14:20:10 2014 +0400 ---------------------------------------------------------------------- CMakeLists.txt | 9 ++++++++- bin/build/build | 2 +- bin/build/lib/ubuntu.js | 34 +++++++++++++++++++++++----------- 3 files changed, 32 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-ubuntu/blob/91aa1ea9/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e9f546..5ffcb09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,14 @@ configure_file ( "${PROJECT_BINARY_DIR}/CordovaView.qml" ) -SET(CMAKE_CXX_FLAGS "-std=c++11 -fno-omit-frame-pointer -O2 -g -Wall -Wextra -DCORDOVA_UBUNTU_VERSION=\\\"${VERSION}\\\" -DCORDOVA_UBUNTU_MAJOR_VERSION=${MAJOR_VERSION} -DCORDOVA_UBUNTU_MINOR_VERSION=${MINOR_VERSION} -I ${PROJECT_SOURCE_DIR}/src") +SET(CMAKE_CXX_FLAGS "-std=c++11 -fno-omit-frame-pointer -Wall -Wextra -DCORDOVA_UBUNTU_VERSION=\\\"${VERSION}\\\" -DCORDOVA_UBUNTU_MAJOR_VERSION=${MAJOR_VERSION} -DCORDOVA_UBUNTU_MINOR_VERSION=${MINOR_VERSION} -I ${PROJECT_SOURCE_DIR}/src") + +if(CMAKE_BUILD_TYPE STREQUAL "Release") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto -Os") +endif() +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O1 -g") +endif() add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/qml COMMAND mkdir -p ${PROJECT_BINARY_DIR}/qml http://git-wip-us.apache.org/repos/asf/cordova-ubuntu/blob/91aa1ea9/bin/build/build ---------------------------------------------------------------------- diff --git a/bin/build/build b/bin/build/build index e4caeba..e40d98e 100755 --- a/bin/build/build +++ b/bin/build/build @@ -28,5 +28,5 @@ var www = path.join(root, 'www'); var argv = require('optimist').string(['framework']).argv; platform.check_reqs(root).then(function () { - return platform.build(root, platform.ALL, false, undefined, argv.framework); + return platform.build(root, platform.ALL, false, undefined, argv.framework, false); }).done(); http://git-wip-us.apache.org/repos/asf/cordova-ubuntu/blob/91aa1ea9/bin/build/lib/ubuntu.js ---------------------------------------------------------------------- diff --git a/bin/build/lib/ubuntu.js b/bin/build/lib/ubuntu.js index 1a0c9c6..dac2114 100644 --- a/bin/build/lib/ubuntu.js +++ b/bin/build/lib/ubuntu.js @@ -150,7 +150,7 @@ function checkClickPackage(prefixDir) { popd(); } -function buildClickPackage(campoDir, ubuntuDir, nobuild, architecture, framework) { +function buildClickPackage(campoDir, ubuntuDir, nobuild, architecture, framework, debug) { assert.ok(architecture && architecture.match(/^[a-z0-9_]+$/)); var archDir = path.join(ubuntuDir, framework, architecture); @@ -173,8 +173,12 @@ function buildClickPackage(campoDir, ubuntuDir, nobuild, architecture, framework pushd(path.join(archDir, 'build')); + var buildType = '"Debug"'; + if (!debug) + buildType = '"Release"'; + var cmakeCmd = 'click chroot -a' + architecture + ' -f ' + framework + ' run cmake ' + campoDir - + ' -DCMAKE_INSTALL_PREFIX="' + prefixDir + '"'; + + ' -DCMAKE_INSTALL_PREFIX="' + prefixDir + '"' + ' -DCMAKE_BUILD_TYPE=' + buildType; if (framework == 'ubuntu-sdk-13.10') cmakeCmd += ' -DCMAKE_TOOLCHAIN_FILE=/etc/dpkg-cross/cmake/CMakeCross.txt'; return execAsync(cmakeCmd).then(function () { @@ -206,7 +210,7 @@ function buildClickPackage(campoDir, ubuntuDir, nobuild, architecture, framework }); } -function buildNative(campoDir, ubuntuDir, nobuild) { +function buildNative(campoDir, ubuntuDir, nobuild, debug) { var nativeDir = path.join(ubuntuDir, 'native'); var prefixDir = path.join(nativeDir, 'prefix'); @@ -222,8 +226,13 @@ function buildNative(campoDir, ubuntuDir, nobuild) { pushd(path.join(nativeDir, 'build')); + var buildType = '"Debug"'; + if (!debug) + buildType = '"Release"'; + var debDir; - return execAsync('cmake ' + campoDir + ' -DCMAKE_INSTALL_PREFIX="' + prefixDir + '"').then(function () { + return execAsync('cmake ' + campoDir + ' -DCMAKE_INSTALL_PREFIX="' + prefixDir + '"' + + ' -DCMAKE_BUILD_TYPE=' + buildType).then(function () { return execAsync('make -j ' + cpuCount() + '; make install'); }).then(function () { cp(path.join(ubuntuDir, 'config.xml'), prefixDir); @@ -263,7 +272,7 @@ module.exports.ALL = 2; module.exports.PHONE = 0; module.exports.DESKTOP = 1; -module.exports.build = function(rootDir, target, nobuild, architecture, framework) { +module.exports.build = function(rootDir, target, nobuild, architecture, framework, debug) { var ubuntuDir = path.join(rootDir, 'platforms', 'ubuntu'); var campoDir = path.join(ubuntuDir, 'build'); @@ -278,7 +287,7 @@ module.exports.build = function(rootDir, target, nobuild, architecture, framewor if (target === module.exports.PHONE) return buildClickPackage(campoDir, ubuntuDir, nobuild, architecture, framework); if (target === module.exports.DESKTOP) - return buildNative(campoDir, ubuntuDir, nobuild); + return buildNative(campoDir, ubuntuDir, nobuild, debug); if (target === module.exports.ALL) { return buildClickPackage(campoDir, ubuntuDir, nobuild, architecture, framework).then(function () { return buildNative(campoDir, ubuntuDir, nobuild); @@ -292,10 +301,13 @@ function runNative(rootDir, debug) { pushd(path.join(nativeDir, 'prefix')); - if (debug) - console.error('Debug enabled. Try pointing a WebKit browser to http://127.0.0.1:9222'); + var cmd = 'QTWEBKIT_INSPECTOR_SERVER=9222 ./cordova-ubuntu www/'; + if (debug) { + cmd = "DEBUG=1 " + cmd; + console.error('Debug enabled. Try pointing a WebKit browser to http://127.0.0.1:9222'.yellow); + } - return execAsync('QTWEBKIT_INSPECTOR_SERVER=9222 ./cordova-ubuntu www/').then(function () { + return execAsync(cmd).then(function () { popd(); }); } @@ -391,7 +403,7 @@ function runOnDevice(rootDir, debug, target, architecture, framework) { module.exports.run = function(rootDir, desktop, debug, target, nobuild, emulator, framework) { if (desktop && !emulator) { - return module.exports.build(rootDir, module.exports.DESKTOP, nobuild).then(function () { + return module.exports.build(rootDir, module.exports.DESKTOP, nobuild, null, null, debug).then(function () { return runNative(rootDir, debug); }); } @@ -426,7 +438,7 @@ module.exports.run = function(rootDir, desktop, debug, target, nobuild, emulator } var arch = getDeviceArch(target); - return module.exports.build(rootDir, module.exports.PHONE, nobuild, arch, framework).then(function () { + return module.exports.build(rootDir, module.exports.PHONE, nobuild, arch, framework, debug).then(function () { return runOnDevice(rootDir, debug, target, arch, framework); }); }