Skip to content

Commit 2fe6901

Browse files
committedSep 25, 2024
Using specified C++ standard to build generated projects.
1 parent a398715 commit 2fe6901

5 files changed

+69
-29
lines changed
 

‎CMakeLists.txt

+5-5
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ if (UBLOX_GEN_PROTOCOL)
309309
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
310310
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
311311
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
312-
-DOPT_REQUIRE_COMMS_LIB=OFF
312+
-DOPT_REQUIRE_COMMS_LIB=OFF -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
313313
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
314314
)
315315

@@ -382,7 +382,7 @@ if (UBLOX_GEN_TEST)
382382
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
383383
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
384384
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
385-
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
385+
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
386386
-DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
387387
-DOPT_TEST_OPTIONS=cc_ublox::options::AllMessagesDynMemMsgFactoryDefaultOptions
388388
-DOPT_USE_CCACHE=${UBLOX_USE_CCACHE}
@@ -446,7 +446,7 @@ if (UBLOX_GEN_TOOLS)
446446
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
447447
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
448448
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
449-
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
449+
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
450450
-DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
451451
-DOPT_QT_MAJOR_VERSION=${UBLOX_TOOLS_QT_VER}
452452
-DOPT_USE_CCACHE=${UBLOX_USE_CCACHE}
@@ -510,7 +510,7 @@ if (UBLOX_GEN_SWIG)
510510
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
511511
-DCMAKE_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
512512
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
513-
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
513+
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
514514
-DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
515515
-DOPT_SWIG_LANGUAGES=${combined_languages_str}
516516
-DOPT_USE_CCACHE=${UBLOX_USE_CCACHE}
@@ -581,7 +581,7 @@ if (UBLOX_GEN_EMSCRIPTEN)
581581
CMAKE_ARGS
582582
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
583583
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
584-
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
584+
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
585585
-DOPT_MODULARIZE=ON
586586
-DOPT_EXTRA_INCLUDE_DIRS=${extra_includes_path_str}
587587
-DOPT_USE_CCACHE=${UBLOX_USE_CCACHE}

‎script/full_build.sh

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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 "${COMMON_BUILD_TYPE}" ]; then
9+
echo "ERROR: Build type is not provided"
10+
exit 1
11+
fi
12+
13+
14+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
15+
ROOT_DIR=$( dirname ${SCRIPT_DIR} )
16+
17+
if [ -z ${BUILD_DIR} ]; then
18+
export BUILD_DIR="${ROOT_DIR}/build.full.${CC}.${COMMON_BUILD_TYPE}"
19+
fi
20+
21+
export COMMON_INSTALL_DIR=${BUILD_DIR}/install
22+
export EXTERNALS_DIR=${ROOT_DIR}/externals
23+
export COMMON_USE_CCACHE=ON
24+
mkdir -p ${BUILD_DIR}
25+
26+
${SCRIPT_DIR}/prepare_externals.sh
27+
28+
cd ${BUILD_DIR}
29+
cmake .. -DCMAKE_INSTALL_PREFIX=${COMMON_INSTALL_DIR} \
30+
-DCMAKE_BUILD_TYPE=${COMMON_BUILD_TYPE} -DUBLOX_GEN_TEST=ON \
31+
-DUBLOX_GEN_TOOLS=ON -DUBLOX_GEN_SWIG=OFF -DUBLOX_GEN_EMSCRIPTEN=OFF \
32+
-DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_USE_CCACHE=ON "$@"
33+
34+
procs=$(nproc)
35+
if [ -n "${procs}" ]; then
36+
procs_param="--parallel ${procs}"
37+
fi
38+
39+
cmake --build ${BUILD_DIR} --config ${COMMON_BUILD_TYPE} --target install ${procs_param}

‎script/full_debug_build.sh

+1-24
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,6 @@ if [ -z "${CC}" -o -z "$CXX" ]; then
66
fi
77

88
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
9-
ROOT_DIR=$( dirname ${SCRIPT_DIR} )
10-
11-
if [ -z ${BUILD_DIR} ]; then
12-
export BUILD_DIR="${ROOT_DIR}/build.full.${CC}"
13-
fi
14-
15-
export COMMON_INSTALL_DIR=${BUILD_DIR}/install
169
export COMMON_BUILD_TYPE=Debug
17-
export EXTERNALS_DIR=${ROOT_DIR}/externals
18-
export COMMON_USE_CCACHE=ON
19-
mkdir -p ${BUILD_DIR}
20-
21-
${SCRIPT_DIR}/prepare_externals.sh
22-
23-
cd ${BUILD_DIR}
24-
cmake .. -DCMAKE_INSTALL_PREFIX=${COMMON_INSTALL_DIR} \
25-
-DCMAKE_BUILD_TYPE=Debug -DUBLOX_GEN_TEST=ON \
26-
-DUBLOX_GEN_TOOLS=ON -DUBLOX_GEN_SWIG=OFF -DUBLOX_GEN_EMSCRIPTEN=OFF \
27-
-DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_USE_CCACHE=ON "$@"
28-
29-
procs=$(nproc)
30-
if [ -n "${procs}" ]; then
31-
procs_param="--parallel ${procs}"
32-
fi
10+
exec ${SCRIPT_DIR}/full_build.sh "$@"
3311

34-
cmake --build ${BUILD_DIR} --config ${COMMON_BUILD_TYPE} --target install ${procs_param}

‎script/full_release_build.sh

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
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+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
9+
export COMMON_BUILD_TYPE=Release
10+
exec ${SCRIPT_DIR}/full_build.sh "$@"
11+

‎script/full_release_build_gcc.sh

+13
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+
${SCRIPT_DIR}/full_release_build.sh "$@"
13+

0 commit comments

Comments
 (0)