Skip to content

Commit

Permalink
Disable ccache by default and allow custom ccache executable.
Browse files Browse the repository at this point in the history
  • Loading branch information
arobenko committed Jun 25, 2024
1 parent 128cb03 commit b4477e9
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 15 deletions.
11 changes: 10 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required (VERSION 3.10)
project ("cc.ublox.commsdsl")

option (UBLOX_NO_WARN_AS_ERR "Don't treat compilation warnings as errors." OFF)
option (UBLOX_USE_CCACHE "Use ccache on UNIX." ON)
option (UBLOX_USE_CCACHE "Use ccache." OFF)
option (UBLOX_GEN_PROTOCOL "Use commsdsl2comms to generate protocol definition" ON)
option (UBLOX_BUILD_PROTOCOL "Build and install protocol definition generated by the commsdsl2comms" ${UBLOX_GEN_PROTOCOL})
option (UBLOX_BUILD_PROT_DOC "Build documentation for generated protocol" OFF)
Expand All @@ -26,6 +26,7 @@ option (UBLOX_BUILD_EXAMPLES "Build examples." OFF)
# UBLOX_SWIG_SRC_DIR - Path to the commsdsl2swig sources. If not provided local "src/swig" dir is used.
# UBLOX_SCHEMA_FILES_LIST_FILE - Path to the file containing list of DSL files, use it to replace "schema_files" list below.
# UBLOX_EMSCRIPTEN_OUTPUT_DIR - Path to emscripten output directory. If not provided <build_dir>/output_emscripten one is used.
# UBLOX_CCACHE_EXECUTABLE - Custom ccache executable
# COMMSDSL2COMMS_EXTRA_ARGS - Extra arguments to pass to "commsdsl2comms"
# COMMSDSL2TEST_EXTRA_ARGS - Extra arguments to pass to "commsdsl2test"
# COMMSDSL2TOOLS_QT_EXTRA_ARGS - Extra arguments to pass to "commsdsl2tools_qt"
Expand Down Expand Up @@ -378,6 +379,8 @@ if (UBLOX_GEN_TEST)
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
-DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
-DOPT_TEST_OPTIONS=cc_ublox::options::AllMessagesDynMemMsgFactoryDefaultOptions
-DOPT_USE_CCACHE=${UBLOX_USE_CCACHE}
-DOPT_CCACHE_EXECUTABLE=${UBLOX_CCACHE_EXECUTABLE}
)
endif ()
endif ()
Expand Down Expand Up @@ -440,6 +443,8 @@ if (UBLOX_GEN_TOOLS)
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
-DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
-DOPT_QT_MAJOR_VERSION=${UBLOX_TOOLS_QT_VER}
-DOPT_USE_CCACHE=${UBLOX_USE_CCACHE}
-DOPT_CCACHE_EXECUTABLE=${UBLOX_CCACHE_EXECUTABLE}
)
endif ()
endif ()
Expand Down Expand Up @@ -502,6 +507,8 @@ if (UBLOX_GEN_SWIG)
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
-DCMAKE_PREFIX_PATH=${combined_prefix_path_str}
-DOPT_SWIG_LANGUAGES=${combined_languages_str}
-DOPT_USE_CCACHE=${UBLOX_USE_CCACHE}
-DOPT_CCACHE_EXECUTABLE=${UBLOX_CCACHE_EXECUTABLE}
INSTALL_COMMAND
${CMAKE_COMMAND} -E echo "Skipping install"
)
Expand Down Expand Up @@ -571,6 +578,8 @@ if (UBLOX_GEN_EMSCRIPTEN)
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
-DOPT_MODULARIZE=ON
-DOPT_EXTRA_INCLUDE_DIRS=${extra_includes_path_str}
-DOPT_USE_CCACHE=${UBLOX_USE_CCACHE}
-DOPT_CCACHE_EXECUTABLE=${UBLOX_CCACHE_EXECUTABLE}
)
endif ()
endif ()
Expand Down
26 changes: 14 additions & 12 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,22 @@ find_package(Threads REQUIRED)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/common/include)

set (cc_compile_file "${LibComms_DIR}/CC_Compile.cmake")
if (EXISTS ${cc_compile_file})
include (${cc_compile_file})
include (${cc_compile_file})

set (warn_as_err_opt)
if (NOT UBLOX_NO_WARN_AS_ERR)
set (warn_as_err_opt WARN_AS_ERR)
endif()
set (extra_opts)
if (UBLOX_WARN_AS_ERR)
list (APPEND extra_opts WARN_AS_ERR)
endif()

set (ccache_opt)
if (UBLOX_USE_CCACHE)
set (ccache_opt USE_CCACHE)
endif()
if (UBLOX_USE_CCACHE)
list (APPEND extra_opts USE_CCACHE)

cc_compile(${warn_as_err_opt} ${ccache_opt})
endif ()
if (NOT "${UBLOX_CCACHE_EXECUTABLE}" STREQUAL "")
list (APPEND extra_opts CCACHE_EXECTUABLE "${UBLOX_CCACHE_EXECUTABLE}")
endif ()
endif()

cc_compile(${extra_opts})
cc_msvc_force_warn_opt("/W4")

add_subdirectory (simple_pos)
3 changes: 2 additions & 1 deletion script/full_debug_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ fi
export COMMON_INSTALL_DIR=${BUILD_DIR}/install
export COMMON_BUILD_TYPE=Debug
export EXTERNALS_DIR=${ROOT_DIR}/externals
export COMMON_USE_CCACHE=ON
mkdir -p ${BUILD_DIR}

${SCRIPT_DIR}/prepare_externals.sh
Expand All @@ -23,7 +24,7 @@ cd ${BUILD_DIR}
cmake .. -DCMAKE_INSTALL_PREFIX=${COMMON_INSTALL_DIR} \
-DCMAKE_BUILD_TYPE=Debug -DUBLOX_GEN_TEST=ON \
-DUBLOX_GEN_TOOLS=ON -DUBLOX_GEN_SWIG=OFF -DUBLOX_GEN_EMSCRIPTEN=OFF \
-DUBLOX_BUILD_EXAMPLES=ON "$@"
-DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_USE_CCACHE=ON "$@"

procs=$(nproc)
if [ -n "${procs}" ]; then
Expand Down
6 changes: 6 additions & 0 deletions script/prepare_externals.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
# COMMON_CXX_STANDARD - (Optional) CMake C++ standard
# COMMON_CMAKE_GENERATOR - (Optional) CMake generator
# COMMON_CMAKE_PLATFORM - (Optional) CMake platform
# COMMON_USE_CCACHE - (Optional) Common "use ccache" parameter
# COMMON_CCACHE_EXECUTABLE - (Optional) Common ccache executable

#####################################

Expand Down Expand Up @@ -141,6 +143,8 @@ function build_commsdsl() {
CC=${CC_COMMSDSL} CXX=${CXX_COMMSDSL} cmake \
-S ${COMMSDSL_SRC_DIR} -B ${COMMSDSL_BUILD_DIR} \
-DCMAKE_INSTALL_PREFIX=${COMMSDSL_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${COMMON_BUILD_TYPE} \
${COMMON_USE_CCACHE:+"-DCOMMSDSL_USE_CCACHE=${COMMON_USE_CCACHE}"} \
${COMMON_CCACHE_EXECUTABLE:+"-DCOMMSDSL_CCACHE_EXECUTABLE=${COMMON_CCACHE_EXECUTABLE}"} \
-DCOMMSDSL_INSTALL_LIBRARY=OFF -DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON
cmake --build ${COMMSDSL_BUILD_DIR} --config ${COMMON_BUILD_TYPE} --target install ${procs_param}
Expand Down Expand Up @@ -172,6 +176,8 @@ function build_cc_tools_qt() {
cmake \
${COMMON_CMAKE_GENERATOR:+"-G ${COMMON_CMAKE_GENERATOR}"} ${COMMON_CMAKE_PLATFORM:+"-A ${COMMON_CMAKE_PLATFORM}"} \
-S ${CC_TOOLS_QT_SRC_DIR} -B ${CC_TOOLS_QT_BUILD_DIR} -DCMAKE_INSTALL_PREFIX=${CC_TOOLS_QT_INSTALL_DIR} \
${COMMON_USE_CCACHE:+"-DCC_TOOLS_QT_USE_CCACHE=${COMMON_USE_CCACHE}"} \
${COMMON_CCACHE_EXECUTABLE:+"-DCC_TOOLS_QT_CCACHE_EXECUTABLE=${COMMON_CCACHE_EXECUTABLE}"} \
-DCMAKE_BUILD_TYPE=${COMMON_BUILD_TYPE} -DCC_TOOLS_QT_BUILD_APPS=OFF -DCMAKE_PREFIX_PATH=${COMMS_INSTALL_DIR} \
-DCMAKE_CXX_STANDARD=${COMMON_CXX_STANDARD} ${CC_TOOLS_QT_VERSION_OPT}
cmake --build ${CC_TOOLS_QT_BUILD_DIR} --config ${COMMON_BUILD_TYPE} --target install ${procs_param}
Expand Down
3 changes: 2 additions & 1 deletion script/protocol_debug_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@ fi
export COMMON_INSTALL_DIR=${BUILD_DIR}/install
export COMMON_BUILD_TYPE=Debug
export EXTERNALS_DIR=${ROOT_DIR}/externals
export COMMON_USE_CCACHE=ON
mkdir -p ${BUILD_DIR}

${SCRIPT_DIR}/prepare_externals.sh

cd ${BUILD_DIR}
cmake .. -DCMAKE_INSTALL_PREFIX=${COMMON_INSTALL_DIR} \
-DCMAKE_BUILD_TYPE=Debug -DUBLOX_BUILD_EXAMPLES=ON "$@"
-DCMAKE_BUILD_TYPE=Debug -DUBLOX_BUILD_EXAMPLES=ON -DUBLOX_USE_CCACHE=ON "$@"

procs=$(nproc)
if [ -n "${procs}" ]; then
Expand Down

0 comments on commit b4477e9

Please sign in to comment.