Reworking process_completion() function
This commit is contained in:
35
build.sh
35
build.sh
@@ -74,7 +74,7 @@ mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Find compiler (prefer gcc, fallback to clang)
|
||||
# Compiler selection (prefer gcc, fallback to clang)
|
||||
# ---------------------------------------------------------------------------
|
||||
echo -e "${YELLOW}Detecting compiler...${NC}"
|
||||
|
||||
@@ -135,7 +135,7 @@ fi
|
||||
echo
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Find build system (prefer ninja)
|
||||
# Generator selection (prefer ninja)
|
||||
# ---------------------------------------------------------------------------
|
||||
echo -e "${YELLOW}Selecting build system...${NC}"
|
||||
|
||||
@@ -165,6 +165,22 @@ echo
|
||||
# Configure
|
||||
# ---------------------------------------------------------------------------
|
||||
echo -e "${YELLOW}Configuring CMake...${NC}"
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# compile_commands.json logic
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
EXPORT_COMPILE_COMMANDS=OFF
|
||||
|
||||
if [[ "$BUILD_TYPE" == "Release" ]]; then
|
||||
if [[ -f "${SCRIPT_DIR}/compile_commands.json" ]]; then
|
||||
echo -e " compile_commands.json already exists - skipping generation"
|
||||
else
|
||||
echo -e " compile_commands.json will be generated"
|
||||
EXPORT_COMPILE_COMMANDS=ON
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e " Build type: ${BUILD_TYPE}"
|
||||
echo -e " Compiler: ${CC_NAME}"
|
||||
echo -e " Generator: ${GENERATOR_NAME}"
|
||||
@@ -173,7 +189,7 @@ cmake "${SCRIPT_DIR}" \
|
||||
-G "${GENERATOR}" \
|
||||
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
|
||||
-DCMAKE_C_COMPILER="${CC_BINARY}" \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=${EXPORT_COMPILE_COMMANDS}
|
||||
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo -e "${RED}CMake configuration failed!${NC}"
|
||||
@@ -243,12 +259,13 @@ echo -e " Output: ${BUILD_DIR}/"
|
||||
# ---------------------------------------------------------------------------
|
||||
# Copy compile_commands.json for clangd
|
||||
# ---------------------------------------------------------------------------
|
||||
if [[ -f "${BUILD_DIR}/compile_commands.json" ]]; then
|
||||
echo -e " clangd: compile_commands.json generated"
|
||||
|
||||
# Always copy the latest version
|
||||
cp "${BUILD_DIR}/compile_commands.json" "${SCRIPT_DIR}/compile_commands.json"
|
||||
echo -e " clangd: Copied to project root"
|
||||
if [[ "${EXPORT_COMPILE_COMMANDS}" == "ON" ]]; then
|
||||
if [[ -f "${BUILD_DIR}/compile_commands.json" ]]; then
|
||||
echo -e " clangd: compile_commands.json generated"
|
||||
|
||||
cp "${BUILD_DIR}/compile_commands.json" "${SCRIPT_DIR}/compile_commands.json"
|
||||
echo -e " clangd: Copied to project root"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
|
||||
Reference in New Issue
Block a user