Skip to content

Commit d49a355

Browse files
committed
Release 2024-10-01
2 parents c6da517 + f03a084 commit d49a355

File tree

9 files changed

+248
-21
lines changed

9 files changed

+248
-21
lines changed

.github/workflows/actions_build.yml

Lines changed: 99 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
name: Github Actions Build
22

3-
on: [push]
3+
on:
4+
push:
5+
branches:
6+
- '**'
7+
tags-ignore:
8+
- '**'
9+
10+
env:
11+
CC_CMAKE_CONFIG: config/All.cmake
412

513
jobs:
614

@@ -31,7 +39,7 @@ jobs:
3139
working-directory: ${{runner.workspace}}/build
3240
run: |
3341
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
34-
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_PROJECT_INCLUDE=config/All.cmake -DOPT_QT_MAJOR_VERSION=${{matrix.qt_ver}}
42+
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_PROJECT_INCLUDE=${{env.CC_CMAKE_CONFIG}} -DOPT_QT_MAJOR_VERSION=${{matrix.qt_ver}}
3543
env:
3644
CC: gcc-${{matrix.cc_ver}}
3745
CXX: g++-${{matrix.cc_ver}}
@@ -42,6 +50,48 @@ jobs:
4250
run: cmake --build . --config ${{matrix.type}}
4351
env:
4452
VERBOSE: 1
53+
54+
build_gcc_ubuntu_24_04:
55+
runs-on: ubuntu-24.04
56+
strategy:
57+
fail-fast: false
58+
matrix:
59+
type: [Debug, Release, MinSizeRel]
60+
cc_ver: [13, 14]
61+
cpp: [17, 20, 23]
62+
qt_ver: [5, 6]
63+
exclude:
64+
- cc_ver: 13
65+
cpp: 23
66+
67+
steps:
68+
- uses: actions/checkout@v4
69+
70+
- name: Prepare Install
71+
run: sudo apt-get update --fix-missing
72+
73+
- name: Install Packages
74+
run: sudo apt install qtbase5-dev qt6-base-dev libqt${{matrix.qt_ver}}serialport${{matrix.qt_ver}}-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}}
75+
76+
- name: Create Build Environment
77+
run: cmake -E make_directory ${{runner.workspace}}/build
78+
79+
- name: Configure CMake
80+
shell: bash
81+
working-directory: ${{runner.workspace}}/build
82+
run: |
83+
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
84+
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_PROJECT_INCLUDE=${{env.CC_CMAKE_CONFIG}} -DOPT_QT_MAJOR_VERSION=${{matrix.qt_ver}}
85+
env:
86+
CC: gcc-${{matrix.cc_ver}}
87+
CXX: g++-${{matrix.cc_ver}}
88+
89+
- name: Build Target
90+
working-directory: ${{runner.workspace}}/build
91+
shell: bash
92+
run: cmake --build . --config ${{matrix.type}}
93+
env:
94+
VERBOSE: 1
4595

4696
build_clang_ubuntu_22_04:
4797
runs-on: ubuntu-22.04
@@ -79,7 +129,51 @@ jobs:
79129
working-directory: ${{runner.workspace}}/build
80130
run: |
81131
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
82-
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_PROJECT_INCLUDE=config/All.cmake -DOPT_QT_MAJOR_VERSION=${{matrix.qt_ver}}
132+
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_PROJECT_INCLUDE=${{env.CC_CMAKE_CONFIG}} -DOPT_QT_MAJOR_VERSION=${{matrix.qt_ver}}
133+
env:
134+
CC: clang-${{matrix.cc_ver}}
135+
CXX: clang++-${{matrix.cc_ver}}
136+
137+
- name: Build Target
138+
working-directory: ${{runner.workspace}}/build
139+
shell: bash
140+
run: cmake --build . --config ${{matrix.type}}
141+
env:
142+
VERBOSE: 1
143+
144+
build_clang_ubuntu_24_04:
145+
runs-on: ubuntu-24.04
146+
strategy:
147+
fail-fast: false
148+
matrix:
149+
type: [Debug, Release, MinSizeRel]
150+
cc_ver: [16, 17, 18]
151+
cpp: [17, 20, 23]
152+
qt_ver: [5, 6]
153+
exclude:
154+
- cc_ver: 16
155+
cpp: 23
156+
- cc_ver: 17
157+
cpp: 23
158+
159+
steps:
160+
- uses: actions/checkout@v4
161+
162+
- name: Prepare Install
163+
run: sudo apt-get update --fix-missing
164+
165+
- name: Install Packages
166+
run: sudo apt install qtbase5-dev qt6-base-dev libqt${{matrix.qt_ver}}serialport${{matrix.qt_ver}}-dev clang-${{matrix.cc_ver}}
167+
168+
- name: Create Build Environment
169+
run: cmake -E make_directory ${{runner.workspace}}/build
170+
171+
- name: Configure CMake
172+
shell: bash
173+
working-directory: ${{runner.workspace}}/build
174+
run: |
175+
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
176+
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} -DCMAKE_PROJECT_INCLUDE=${{env.CC_CMAKE_CONFIG}} -DOPT_QT_MAJOR_VERSION=${{matrix.qt_ver}}
83177
env:
84178
CC: clang-${{matrix.cc_ver}}
85179
CXX: clang++-${{matrix.cc_ver}}
@@ -110,7 +204,7 @@ jobs:
110204
- name: Install Boost
111205
shell: cmd
112206
run: |
113-
choco install boost-msvc-14.2
207+
choco install boost-msvc-14.2 --version=1.85.0
114208
115209
- name: Install Curl
116210
shell: cmd
@@ -132,7 +226,7 @@ jobs:
132226
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
133227
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/qt/qt-${{env.QT_VER}}-dynamic-msvc2019-x86_64" -DCMAKE_CXX_STANDARD=${{matrix.cpp}} ^
134228
-DCMAKE_POLICY_DEFAULT_CMP0167=OLD -DBoost_USE_STATIC_LIBS=ON ^
135-
-DCMAKE_PROJECT_INCLUDE=config/All.cmake -DOPT_QT_MAJOR_VERSION=${{matrix.qt_ver}} ^
229+
-DCMAKE_PROJECT_INCLUDE=${{env.CC_CMAKE_CONFIG}} -DOPT_QT_MAJOR_VERSION=${{matrix.qt_ver}} ^
136230
-DOPT_CC_UBLOX_PROTOCOL_CC_TOOLS_PLUGIN=OFF
137231
env:
138232
QT_VER: ${{matrix.qt_ver == '5' && '5.15.3' || '6.2.2'}}

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@ option (OPT_CC_UBLOX_PROTOCOL_CC_TOOLS_PLUGIN "Forcefully add cc.ublox_protocol.
2626
option (OPT_CC_MQTT311_CLIENT_FILTER_CC_TOOLS_PLUGIN "Forcefully add cc.mqtt311_client_filter.cc_tools_plugin" OFF)
2727
option (OPT_CC_MQTT5_CLIENT_FILTER_CC_TOOLS_PLUGIN "Forcefully add cc.mqtt5_client_filter.cc_tools_plugin" OFF)
2828
option (OPT_ALLOW_BOOST "Build applications requiring boost if the latter is found" ON)
29+
option (OPT_USE_CCACHE "Use ccache" OFF)
30+
option (OPT_WITH_DEFAULT_SANITIZERS "Build with sanitizers" OFF)
2931

3032
# Other configuration variables
3133
# OPT_QT_MAJOR_VERSION - Major Qt version, required by various projects. Defaults to 5.
3234
# OPT_EXTERNALS_DIR - Directory where accumulate externals. Defaults to ${PROJECT_SOURCE_DIR}/externals
35+
# OPT_CCACHE_EXECUTABLE - Path to ccache executable
3336
# CMAKE_CXX_VERSION - C++ version to use. Defaults to 17.
3437

3538
################################################################################################

DefaultConfig.cmake

Lines changed: 54 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
# Default versions
2-
set (COMMS_DEFAULT_TAG "v5.2.6")
3-
set (CC_TOOLS_QT_DEFAULT_TAG "v5.3.2")
2+
set (COMMS_DEFAULT_TAG "v5.2.7")
3+
set (CC_TOOLS_QT_DEFAULT_TAG "v5.3.3")
44
set (COMMSDSL_DEFAULT_TAG "v6.3.3")
5-
set (CC_DEMO1_GENERATED_DEFAULT_TAG "v2.8")
6-
set (CC_DEMO2_GENERATED_DEFAULT_TAG "v2.8")
7-
set (CC_DEMO3_GENERATED_DEFAULT_TAG "v2.8")
8-
set (CC_MQTT311_GENERATED_DEFAULT_TAG "v2.8")
9-
set (CC_MQTT5_GENERATED_DEFAULT_TAG "v2.8")
10-
set (CC_MQTTSN_GENERATED_DEFAULT_TAG "v2.8.1")
11-
set (CC_UBLOX_GENERATED_DEFAULT_TAG "v2.8")
12-
set (CC_X509_GENERATED_DEFAULT_TAG "v1.0")
13-
set (CC_MQTTSN_LIBS_DEFAULT_TAG "v2.0.3")
14-
set (CC_MQTT311_LIBS_DEFAULT_TAG "v1.0")
15-
set (CC_MQTT5_LIBS_DEFAULT_TAG "v1.0")
5+
set (CC_DEMO1_GENERATED_DEFAULT_TAG "v2.9")
6+
set (CC_DEMO2_GENERATED_DEFAULT_TAG "v2.9")
7+
set (CC_DEMO3_GENERATED_DEFAULT_TAG "v2.9")
8+
set (CC_MQTT311_GENERATED_DEFAULT_TAG "v2.9")
9+
set (CC_MQTT5_GENERATED_DEFAULT_TAG "v2.9")
10+
set (CC_MQTTSN_GENERATED_DEFAULT_TAG "v2.9")
11+
set (CC_UBLOX_GENERATED_DEFAULT_TAG "v2.9")
12+
set (CC_X509_GENERATED_DEFAULT_TAG "v1.0.1")
13+
set (CC_MQTTSN_LIBS_DEFAULT_TAG "v2.0.4")
14+
set (CC_MQTT311_LIBS_DEFAULT_TAG "v1.0.1")
15+
set (CC_MQTT5_LIBS_DEFAULT_TAG "v1.0.1")
1616
set (CC_DEMO1_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_TAG "${CC_DEMO1_GENERATED_DEFAULT_TAG}")
1717
set (CC_DEMO2_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_TAG "${CC_DEMO2_GENERATED_DEFAULT_TAG}")
1818
set (CC_DEMO3_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_TAG "${CC_DEMO3_GENERATED_DEFAULT_TAG}")
1919
set (CC_MQTT311_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_TAG "${CC_MQTT311_GENERATED_DEFAULT_TAG}")
2020
set (CC_MQTT5_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_TAG "${CC_MQTT5_GENERATED_DEFAULT_TAG}")
2121
set (CC_MQTTSN_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_TAG "${CC_MQTTSN_GENERATED_DEFAULT_TAG}")
2222
set (CC_UBLOX_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_TAG "${CC_UBLOX_GENERATED_DEFAULT_TAG}")
23-
set (CC_MQTT311_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_TAG "v0.2")
24-
set (CC_MQTT5_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_TAG "v0.6")
25-
set (CC_MQTTSN_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_TAG "v0.1")
23+
set (CC_MQTT311_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_TAG "v0.3")
24+
set (CC_MQTT5_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_TAG "v0.7")
25+
set (CC_MQTTSN_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_TAG "v0.2")
2626
set (QT_MAJOR_DEFAULT_VERSION 5)
2727

2828
########################################################################
@@ -53,6 +53,42 @@ list (APPEND CC_MQTTSN_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEPENDS cc.mqttsn.libs cc_t
5353

5454
########################################################################
5555

56+
# ccache flags
57+
list (APPEND CC_TOOLS_QT_DEFAULT_CMAKE_ARGS -DCC_TOOLS_QT_USE_CCACHE=${OPT_USE_CCACHE} -DCC_TOOLS_QT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
58+
list (APPEND CC_MQTT311_LIBS_DEFAULT_CMAKE_ARGS -DCC_MQTT311_USE_CCACHE=${OPT_USE_CCACHE} -DCC_MQTT311_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
59+
list (APPEND CC_MQTT5_LIBS_DEFAULT_CMAKE_ARGS -DCC_MQTT5_USE_CCACHE=${OPT_USE_CCACHE} -DCC_MQTT5_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
60+
list (APPEND CC_MQTTSN_LIBS_DEFAULT_CMAKE_ARGS -DCC_MQTTSN_USE_CCACHE=${OPT_USE_CCACHE} -DCC_MQTTSN_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
61+
list (APPEND CC_DEMO1_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
62+
list (APPEND CC_DEMO2_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
63+
list (APPEND CC_DEMO3_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
64+
list (APPEND CC_MQTT311_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
65+
list (APPEND CC_MQTT5_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
66+
list (APPEND CC_MQTTSN_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
67+
list (APPEND CC_UBLOX_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
68+
list (APPEND CC_MQTT311_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
69+
list (APPEND CC_MQTT5_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
70+
list (APPEND CC_MQTTSN_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_USE_CCACHE=${OPT_USE_CCACHE} -DOPT_CCACHE_EXECUTABLE=${OPT_CCACHE_EXECUTABLE})
71+
72+
########################################################################
73+
74+
# Sanitizers flags
75+
list (APPEND CC_TOOLS_QT_DEFAULT_CMAKE_ARGS -DCC_TOOLS_QT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
76+
list (APPEND CC_MQTT311_LIBS_DEFAULT_CMAKE_ARGS -DCC_MQTT311_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
77+
list (APPEND CC_MQTT5_LIBS_DEFAULT_CMAKE_ARGS -DCC_MQTT5_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
78+
list (APPEND CC_MQTTSN_LIBS_DEFAULT_CMAKE_ARGS -DCC_MQTTSN_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
79+
list (APPEND CC_DEMO1_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
80+
list (APPEND CC_DEMO2_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
81+
list (APPEND CC_DEMO3_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
82+
list (APPEND CC_MQTT311_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
83+
list (APPEND CC_MQTT5_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
84+
list (APPEND CC_MQTTSN_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
85+
list (APPEND CC_UBLOX_PROTOCOL_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
86+
list (APPEND CC_MQTT311_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
87+
list (APPEND CC_MQTT5_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
88+
list (APPEND CC_MQTTSN_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_WITH_DEFAULT_SANITIZERS=${OPT_WITH_DEFAULT_SANITIZERS})
89+
90+
########################################################################
91+
5692
# Extra flags
5793
if (OPT_CC_MQTT311_CLIENT_FILTER_CC_TOOLS_PLUGIN)
5894
# cc.mqtt311.libs requires PIC compilation when linked to the shared module.
@@ -134,3 +170,5 @@ list (APPEND CC_MQTTSN_CLIENT_FILTER_CC_TOOLS_PLUGIN_DEFAULT_CMAKE_ARGS -DOPT_QT
134170
if ("${CMAKE_CXX_STANDARD}" STREQUAL "")
135171
set (CMAKE_CXX_STANDARD 17)
136172
endif ()
173+
174+
# The value above is passed to every project in cc_add_project() function.

Funcs.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ function (cc_add_project name)
5454
CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM}
5555
CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET}
5656
CMAKE_ARGS
57+
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
5758
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
5859
-DCMAKE_PREFIX_PATH=${combined_prefix_path}
5960
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}

script/full_build.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#!/bin/bash
2+
3+
if [ -z "${CC}" -o -z "${CXX}" ]; then
4+
echo "ERROR: Compilers are not provided"
5+
exit 1
6+
fi
7+
8+
if [ -z "${BUILD_TYPE}" ]; then
9+
echo "ERROR: Build type not provided"
10+
exit 1
11+
fi
12+
13+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
14+
ROOT_DIR=$( dirname ${SCRIPT_DIR} )
15+
16+
if [ -z "${BUILD_DIR}" ]; then
17+
export BUILD_DIR="${ROOT_DIR}/build.full.${CC}.${BUILD_TYPE}"
18+
fi
19+
20+
if [ -z "${INSTALL_DIR}" ]; then
21+
export INSTALL_DIR=${BUILD_DIR}/install
22+
fi
23+
24+
if [ -z "${USE_CCACHE}" ]; then
25+
export USE_CCACHE=ON
26+
fi
27+
28+
if [ -z "${DEFAULT_SANITIZERS}" ]; then
29+
export DEFAULT_SANITIZERS=ON
30+
fi
31+
32+
if [ -z "${QT_VER}" ]; then
33+
export QT_VER=5
34+
fi
35+
36+
if [ -z "${PROJ_INCLUDE}" ]; then
37+
export PROJ_INCLUDE="config/All.cmake"
38+
fi
39+
40+
mkdir -p ${BUILD_DIR}
41+
cd ${BUILD_DIR}
42+
cmake .. \
43+
-DCMAKE_PROJECT_INCLUDE=${PROJ_INCLUDE} \
44+
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
45+
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DOPT_USE_CCACHE=${USE_CCACHE} \
46+
-DOPT_WITH_DEFAULT_SANITIZERS=${DEFAULT_SANITIZERS} -DOPT_QT_MAJOR_VERSION=${QT_VER} "$@"
47+
48+
procs=$(nproc)
49+
if [ -n "${procs}" ]; then
50+
procs_param="--parallel ${procs}"
51+
fi
52+
53+
cmake --build ${BUILD_DIR} --config ${BUILD_TYPE} ${procs_param}

script/full_debug_build.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
3+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4+
export BUILD_TYPE=Debug
5+
exec ${SCRIPT_DIR}/full_build.sh "$@"
6+

script/full_debug_build_clang.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
if [ -z "${CC}" ]; then
4+
export CC=clang
5+
fi
6+
7+
if [ -z "${CXX}" ]; then
8+
export CXX=clang++
9+
fi
10+
11+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
12+
exec ${SCRIPT_DIR}/full_debug_build.sh "$@"
13+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
3+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4+
export PROJ_INCLUDE="config/AllDevelop.cmake"
5+
exec ${SCRIPT_DIR}/full_debug_build_clang.sh "$@"
6+

script/full_debug_build_gcc.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
if [ -z "${CC}" ]; then
4+
export CC=gcc
5+
fi
6+
7+
if [ -z "${CXX}" ]; then
8+
export CXX=g++
9+
fi
10+
11+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
12+
exec ${SCRIPT_DIR}/full_debug_build.sh "$@"
13+

0 commit comments

Comments
 (0)