Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
414b130
Release/1.1.12 (#200)
egalla204 Apr 9, 2026
02e0576
Merge branch 'release/1.1.12'
egalla204 Apr 9, 2026
895e258
RDKEMW-14537: Coverity integration for ctrlm
msmith113 Apr 10, 2026
f39f025
Removing feature/** from push workflow
msmith113 Apr 10, 2026
11c36ce
Updates
msmith113 Apr 10, 2026
ae4a2ae
Update cov_build.sh
msmith113 Apr 10, 2026
a7950c8
Update cov_build.sh
msmith113 Apr 10, 2026
f1c00d9
Update
msmith113 Apr 10, 2026
97c049e
Moving mock headers out of test framework
msmith113 Apr 14, 2026
68525ce
More testing
msmith113 Apr 14, 2026
906513c
Test
msmith113 Apr 14, 2026
126b843
Merge branch 'feature/RDKEMW-14537-test', remote-tracking branch 'ori…
msmith113 Apr 14, 2026
9d6bded
Adding missing new lines and updating copyright
msmith113 Apr 14, 2026
4eabde2
Adding copilot instructions to give more context about the ci dir
msmith113 Apr 14, 2026
59274cd
Updates
msmith113 Apr 14, 2026
1780b23
Testing changes
msmith113 Apr 14, 2026
cb35a13
Slowly removing mock headers for actual ones in xr-audio-sdk
msmith113 Apr 14, 2026
ce02dc4
More changes to move away from mock headers
msmith113 Apr 14, 2026
1bc2106
Updating credit related text for LICENSE, NOTICE, source, and copyright
msmith113 Apr 15, 2026
1dd2743
Using test framework again, but in a way of not modifying it (testing)
msmith113 Apr 15, 2026
918cad5
More testing
msmith113 Apr 15, 2026
d6d9ab2
CHanges
msmith113 Apr 15, 2026
361475c
More updates
msmith113 Apr 15, 2026
4776729
Update ci/patches/Use_Legact_Alt_Based_On_ThunderTools_R4.4.3.patch
msmith113 Apr 15, 2026
3ab8ebb
Fixing typo in patch sourse
msmith113 Apr 15, 2026
17d174d
Using patches from test framework instead of local copies
msmith113 Apr 15, 2026
90ad5f1
Test
msmith113 Apr 16, 2026
c834690
Updates
msmith113 Apr 16, 2026
0c6c05f
Reduce mock attempt
msmith113 Apr 17, 2026
148abd3
Test
msmith113 Apr 20, 2026
acd5168
Test again
msmith113 Apr 20, 2026
bac6a8e
Updates
msmith113 Apr 20, 2026
02cb06e
Testing
msmith113 Apr 20, 2026
55a312c
Test
msmith113 Apr 20, 2026
689fdda
More test
msmith113 Apr 20, 2026
57f86af
Testing
msmith113 Apr 20, 2026
becfca5
Update
msmith113 Apr 20, 2026
b0e1413
Updates
msmith113 Apr 20, 2026
3fe154d
Updates
msmith113 Apr 20, 2026
cdfd057
Test
msmith113 Apr 20, 2026
aac5264
Testing
msmith113 Apr 21, 2026
a2bd13b
Testing
msmith113 Apr 21, 2026
02d9da3
Apply suggestion from @Copilot
msmith113 Apr 21, 2026
69e0be2
Removing rdkversion mock
msmith113 Apr 21, 2026
799d667
Update ci/build_dependencies.sh
msmith113 Apr 21, 2026
3ec51bc
Update ci/cov_build.sh
msmith113 Apr 21, 2026
47a30b6
Update
msmith113 Apr 21, 2026
8915c26
Update
msmith113 Apr 21, 2026
42bf116
Small tweaks to git commands
msmith113 Apr 21, 2026
81392f9
Updating mock comments
msmith113 Apr 21, 2026
a4584ba
Clean up
msmith113 Apr 21, 2026
1834446
Making changes suggested from copilot
msmith113 Apr 21, 2026
11b6589
Updates
msmith113 Apr 21, 2026
e551ccd
Updates
msmith113 Apr 21, 2026
f13e688
Update ci/cov_build.sh
msmith113 Apr 21, 2026
71f0eb5
Update ci/mocks/control/rdkx_logger.h
msmith113 Apr 21, 2026
e0b3a17
Test
msmith113 Apr 21, 2026
6ffeaaf
Updates
msmith113 Apr 21, 2026
8469088
Initial commit of mock reduction
msmith113 Apr 21, 2026
10579d0
Updates
msmith113 Apr 21, 2026
f159487
Updates
msmith113 Apr 21, 2026
34c7fb3
Updates
msmith113 Apr 21, 2026
700be5a
Updates
msmith113 Apr 21, 2026
1e72897
Fixing patch
msmith113 Apr 21, 2026
1cc5e02
Update ci/mocks/testframework_overrides.h
msmith113 Apr 21, 2026
f8d1cee
More tests
msmith113 Apr 21, 2026
de2a1c8
Merge branch 'feature/RDKEMW-14537' of github-rdkcentral:rdkcentral/c…
msmith113 Apr 21, 2026
9cdf6be
Update ci/build_dependencies.sh
msmith113 Apr 21, 2026
223c1ee
Update ci/build_dependencies.sh
msmith113 Apr 21, 2026
c918033
Update
msmith113 Apr 21, 2026
74a0fac
Updating comment of stripping -Werror from generated build
msmith113 Apr 22, 2026
4b3a2c5
Update ci/mocks/devicesettings_ctrlm.patch
msmith113 May 5, 2026
43c2ace
Update ci/build_dependencies.sh
msmith113 May 5, 2026
112b9f8
Cleanup
msmith113 May 5, 2026
0644885
Fix issues create by copilot suggestion
msmith113 May 5, 2026
611eab7
Merge branch 'develop' into feature/RDKEMW-14537
msmith113 May 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copilot Instructions

## Repository overview
This is the **ctrlm-main** (Control Manager) plugin — a Thunder/WPEFramework plugin for RDK remote control management.

## ci/ directory
The `ci/` directory contains **native CI build support files only**. It is not part of the application.

- `ci/build_dependencies.sh` / `ci/cov_build.sh` — scripts that build the plugin in a CI container without a full RDK target image
- `ci/mocks/xlog_ci_compat.h` — minimal shim that pulls `std::string`, `std::map`, `std::tuple`, `std::get` into the global namespace (mirrors the transitive effect of the real rdkx_logger.h in the Yocto build)
- `ci/mocks/testframework_overrides.h` — supplements testframework mocks with declarations ctrlm needs that are not yet upstream
- `ci/mocks/devicesettings_ctrlm.patch` — patch applied to the testframework `devicesettings.h` at CI time for ctrlm-specific additions (ducking types, `setAudioDucking`, `Manager::IsInitialized`). Remove once these land in testframework develop.
- `ci/mocks/safec_lib.h` — compatibility shim mapping `safec_lib.h` to system libsafec headers
- `ci/headers/` — empty stub headers and real xr-voice-sdk headers generated/copied at CI build time; not committed to source

CI currently pins `xr-voice-sdk` to tag `1.0.13` in `build_dependencies.sh`. Real xr-voice-sdk headers (including `rdkx_logger.h`, `xr_voice_sdk.h`, and generated `rdkx_logger_modules.h`) are produced by `build_dependencies.sh` and placed in `ci/headers/xr-voice-sdk/`. Mock/stub headers for platform libraries (IARM, DeviceSettings, RFC, etc.) are sourced from `entservices-testframework/` at CI build time.

When suggesting code or answering questions, treat CI mocks as scaffolding, not as authoritative API definitions. For real API shapes refer to the installed headers under `install/usr/include/` or the upstream repositories (Thunder, entservices-apis, xr-voice-sdk).
29 changes: 29 additions & 0 deletions .github/workflows/native_full_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Build Control Manager in Native Environment

on:
push:
branches: [ main, 'sprint/**', 'release/**', develop ]
pull_request:
branches: [ main, 'sprint/**', 'release/**', topic/RDK*, develop ]

permissions:
contents: read

jobs:
build-control-on-pr:
name: Build Control Manager in github rdkcentral
runs-on: ubuntu-latest
container:
image: ghcr.io/rdkcentral/docker-rdk-ci:latest
Comment thread
msmith113 marked this conversation as resolved.
Comment thread
msmith113 marked this conversation as resolved.

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: build dependencies
run: |
sh -x ci/build_dependencies.sh

- name: cov build
run: |
sh -x ci/cov_build.sh
204 changes: 204 additions & 0 deletions ci/build_dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
#!/bin/bash
#
# If not stated otherwise in this file or this component's license file the
# following copyright and licenses apply:
#
# Copyright 2026 RDK Management
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -x
set -e
Comment thread
msmith113 marked this conversation as resolved.
Comment thread
msmith113 marked this conversation as resolved.
##############################
GITHUB_WORKSPACE="${PWD}"
cd "${GITHUB_WORKSPACE}"

git config --global --add safe.directory "${GITHUB_WORKSPACE}"

# #############################
# 1. Install Dependencies and packages

apt update
apt install -y \
pkg-config \
libsqlite3-dev \
libcurl4-openssl-dev \
libsystemd-dev \
libglib2.0-dev \
libjansson-dev \
libarchive-dev \
libssl-dev \
zlib1g-dev \
libdbus-1-dev \
uuid-dev \
libevdev-dev \
libdrm-dev \
libsafec-dev \
python3-pip
python3 -m pip install jsonref
Comment thread
msmith113 marked this conversation as resolved.

###########################################
# 2. Clone the required repositories

XRSDK_REF="1.0.13"
git clone --depth 1 --filter=blob:none --branch "${XRSDK_REF}" https://github.com/rdkcentral/xr-voice-sdk.git

git clone --depth 1 --filter=blob:none --branch develop https://github.com/rdkcentral/entservices-testframework.git

# Patch the upstream testframework devicesettings.h with ctrlm-specific
# additions (ducking types, setAudioDucking, Manager::IsInitialized).
# We can remove this if added to upstream testframework
git -C entservices-testframework apply "$GITHUB_WORKSPACE/ci/mocks/devicesettings_ctrlm.patch"

git clone --depth 1 --filter=blob:none --sparse --branch develop https://github.com/rdkcentral/iarmmgrs.git
git -C iarmmgrs sparse-checkout set hal

git clone --depth 1 --filter=blob:none --sparse https://github.com/rdkcentral/rdk-halif-deepsleep_manager.git
git -C rdk-halif-deepsleep_manager sparse-checkout set include

git clone --depth 1 --filter=blob:none --sparse https://github.com/rdkcentral/rdk-halif-power_manager.git
git -C rdk-halif-power_manager sparse-checkout set include

git clone --depth 1 --filter=blob:none --sparse --branch develop https://github.com/rdkcentral/rdkversion.git
Comment thread
msmith113 marked this conversation as resolved.
Comment thread
msmith113 marked this conversation as resolved.
Comment thread
msmith113 marked this conversation as resolved.
git -C rdkversion sparse-checkout set src

Comment thread
msmith113 marked this conversation as resolved.
IARMMGRS_DIR="$GITHUB_WORKSPACE/iarmmgrs"
DEEPSLEEP_HAL_DIR="$GITHUB_WORKSPACE/rdk-halif-deepsleep_manager"
POWER_HAL_DIR="$GITHUB_WORKSPACE/rdk-halif-power_manager"
RDKVERSION_DIR="$GITHUB_WORKSPACE/rdkversion"

############################
# 3. Create stub/empty headers for external dependencies
echo "======================================================================================"
echo "Creating stub headers"

HEADERS_DIR="$GITHUB_WORKSPACE/ci/headers"
XRSDK_HEADERS_DIR="$HEADERS_DIR/xr-voice-sdk"
mkdir -p "${HEADERS_DIR}"
mkdir -p "${HEADERS_DIR}/rdk/iarmbus"
mkdir -p "${HEADERS_DIR}/rdk/ds"
mkdir -p "${HEADERS_DIR}/rdk/iarmmgrs-hal"
mkdir -p "${XRSDK_HEADERS_DIR}"

# Copy real xr-voice-sdk headers.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ok for now. However, I wonder if this would be cleaner if it just called cmake on the xr-voice-sdk repo with a target that just delivers the header files?

# xr_fdc.h is NOT copied: only needed when FDC_ENABLED=ON
cp "$GITHUB_WORKSPACE/xr-voice-sdk/src/xr-speech-vrex/xrsv.h" "${XRSDK_HEADERS_DIR}/"
cp "$GITHUB_WORKSPACE/xr-voice-sdk/src/xr-speech-router/xrsr.h" "${XRSDK_HEADERS_DIR}/"
cp "$GITHUB_WORKSPACE/xr-voice-sdk/src/xr-mq/xr_mq.h" "${XRSDK_HEADERS_DIR}/"
cp "$GITHUB_WORKSPACE/xr-voice-sdk/src/xr-speech-vrex/xrsv_http/xrsv_http.h" "${XRSDK_HEADERS_DIR}/"
cp "$GITHUB_WORKSPACE/xr-voice-sdk/src/xr-speech-vrex/xrsv_ws_nextgen/xrsv_ws_nextgen.h" "${XRSDK_HEADERS_DIR}/"
cp "$GITHUB_WORKSPACE/xr-voice-sdk/src/xr-timestamp/xr_timestamp.h" "${XRSDK_HEADERS_DIR}/"

# Generate rdkx_logger_modules.h from xr-voice-sdk's module configuration,
# then copy the real rdkx_logger and xr_voice_sdk headers.
# This replaces the hand-written ci/mocks/control/ stubs.
python3 "$GITHUB_WORKSPACE/xr-voice-sdk/scripts/rdkx_logger_modules_to_c.py" \
"$GITHUB_WORKSPACE/xr-voice-sdk/src/xr-logger/rdkv/rdkx_logger_modules.json" \
"${XRSDK_HEADERS_DIR}/rdkx_logger_modules" "mw"
cp "$GITHUB_WORKSPACE/xr-voice-sdk/src/xr-logger/rdkx_logger_mw.h" "${XRSDK_HEADERS_DIR}/rdkx_logger.h"
cp "$GITHUB_WORKSPACE/xr-voice-sdk/src/xr_voice_sdk.h" "${XRSDK_HEADERS_DIR}/xr_voice_sdk.h"

cd "${HEADERS_DIR}"

# IARM headers (types provided via -include Iarm.h)
touch rdk/iarmbus/libIARM.h
touch rdk/iarmbus/libIBus.h
touch rdk/iarmbus/libIBusDaemon.h

# IARM manager headers
# sysMgr.h conflicts with the forced Iarm.h mock, which already provides the
# needed SYSMgr types. Use a shim here. To remove it later, either stop
# force-including those overlapping Iarm.h declarations or drop sysMgr.h from
# ctrlm source.
cat > rdk/iarmmgrs-hal/sysMgr.h <<'EOF'
#ifndef CTRLM_CI_SYSMGR_SHIM_H
#define CTRLM_CI_SYSMGR_SHIM_H

/* SYSMgr declarations are provided by the forced Iarm.h mock in CI. */

#endif
EOF
cp "$DEEPSLEEP_HAL_DIR/include/deepSleepMgr.h" rdk/iarmmgrs-hal/deepSleepMgr.h
cp "$POWER_HAL_DIR/include/plat_power.h" rdk/iarmmgrs-hal/pwrMgr.h
[ -f rdk/iarmmgrs-hal/sysMgr.h ]
[ -f rdk/iarmmgrs-hal/deepSleepMgr.h ]
[ -f rdk/iarmmgrs-hal/pwrMgr.h ]

# Device settings headers (types provided via force-included devicesettings.h mock)
touch rdk/ds/audioOutputPort.hpp
touch rdk/ds/dsDisplay.h
touch rdk/ds/dsError.h
touch rdk/ds/dsMgr.h
touch rdk/ds/dsRpc.h
touch rdk/ds/dsTypes.h
touch rdk/ds/dsUtl.h
touch rdk/ds/exception.hpp
touch rdk/ds/host.hpp
touch rdk/ds/manager.hpp
touch rdk/ds/videoOutputPort.hpp
touch rdk/ds/videoOutputPortConfig.hpp
touch rdk/ds/videoOutputPortType.hpp
touch rdk/ds/videoResolution.hpp
touch rdk/ds/frontPanelIndicator.hpp
touch rdk/ds/frontPanelConfig.hpp

# rfcapi.h (types provided via -include Rfc.h)
touch rfcapi.h

# comcastIrKeyCodes.h (unconditionally included by ctrlm_main.cpp)
find "$IARMMGRS_DIR" -name comcastIrKeyCodes.h -print -quit | xargs -r -I{} cp "{}" comcastIrKeyCodes.h
[ -f comcastIrKeyCodes.h ]
Comment thread
msmith113 marked this conversation as resolved.

# rdkversion.h (used by ctrlm_main.cpp)
cp "$RDKVERSION_DIR/src/rdkversion.h" rdkversion.h
[ -f rdkversion.h ]

# secure_wrapper (types provided via empty stub — no v_secure_* calls in core)
touch secure_wrapper.h

# safec compatibility header - committed in ci/mocks, copied here so it is
# resolved on the generated-headers include path.
cp "$GITHUB_WORKSPACE/ci/mocks/safec_lib.h" safec_lib.h

echo "Stub headers created successfully"

cd "${GITHUB_WORKSPACE}"

mkdir -p "${GITHUB_WORKSPACE}/install/usr/include"
printf '{}\n' > "${GITHUB_WORKSPACE}/install/usr/include/ctrlm_config_empty.json"

############################
# 4. Create stub shared libraries for linking
echo "======================================================================================"
echo "Creating stub libraries"

STUB_LIB_DIR="$GITHUB_WORKSPACE/install/usr/lib"
mkdir -p "${STUB_LIB_DIR}"

# Create a minimal C stub source
cat > /tmp/stub.c << 'STUB_EOF'
void __stub_placeholder(void) {}
STUB_EOF

# Build stub .so for each missing library
# nopoll and dshalcli are unused (factory-only) but unconditionally linked by CMakeLists.txt
# We can remove them from the link list in the future if desired, but for now just provide stubs to satisfy the linker.
for lib in xr-voice-sdk rdkversion IARMBus ds nopoll dshalcli rfcapi secure_wrapper evdev; do
gcc -shared -fPIC -o "${STUB_LIB_DIR}/lib${lib}.so" /tmp/stub.c
Comment thread
msmith113 marked this conversation as resolved.
Comment thread
msmith113 marked this conversation as resolved.
done

rm /tmp/stub.c

echo "Stub libraries created in ${STUB_LIB_DIR}"
echo "======================================================================================"
echo "build_dependencies.sh complete"
112 changes: 112 additions & 0 deletions ci/cov_build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
#!/bin/bash
#
# If not stated otherwise in this file or this component's license file the
# following copyright and licenses apply:
#
# Copyright 2026 RDK Management
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -x
set -e
##############################
GITHUB_WORKSPACE="${PWD}"
ls -la "${GITHUB_WORKSPACE}"
############################

# Build control (ctrlm-main)
echo "building control (ctrlm-main)"

XRSDK_REAL_HEADERS="$GITHUB_WORKSPACE/ci/headers/xr-voice-sdk"
XLOG_COMPAT="$GITHUB_WORKSPACE/ci/mocks/xlog_ci_compat.h"
MOCK_DIR="$GITHUB_WORKSPACE/entservices-testframework/Tests/mocks"
MOCK_OVERRIDES="$GITHUB_WORKSPACE/ci/mocks/testframework_overrides.h"
HEADERS_DIR="$GITHUB_WORKSPACE/ci/headers"
EMPTY_JSON="$GITHUB_WORKSPACE/install/usr/include/ctrlm_config_empty.json"
GLIB_CFLAGS="$(pkg-config --cflags glib-2.0)"

cmake -G Ninja -S "$GITHUB_WORKSPACE" -B build/control \
-DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE}/install/usr" \
-DCMAKE_INSTALL_SYSCONFDIR="${GITHUB_WORKSPACE}/install/etc" \
-DCMAKE_MODULE_PATH="${GITHUB_WORKSPACE}/install/tools/cmake" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
Comment thread
msmith113 marked this conversation as resolved.
-DCMAKE_PROJECT_VERSION="1.0.0" \
-DTHUNDER=OFF \
-DTHUNDER_SECURITY=OFF \
-DBLE_ENABLED=OFF \
-DRF4CE_ENABLED=OFF \
-DIP_ENABLED=OFF \
-DTELEMETRY_SUPPORT=OFF \
-DAUTH_ENABLED=OFF \
-DXRSR_HTTP=OFF \
-DXRSR_SDT=OFF \
-DBUILD_CTRLM_FACTORY=OFF \
-DBUILD_FACTORY_TEST=OFF \
-DUSE_SAFEC=OFF \
-DUSE_IARM_POWER_MANAGER=ON \
-DBREAKPAD=OFF \
-DFDC_ENABLED=OFF \
-DENABLE_ASYNC_SRVR_MSG=OFF \
-DHIDE_NON_EXTERNAL_SYMBOLS=OFF \
-DBUILD_SYSTEM=NONE \
-DCTRLM_UTILS_JSON_COMBINE="${GITHUB_WORKSPACE}/xr-voice-sdk/scripts/vsdk_json_combine.py" \
-DCTRLM_UTILS_JSON_TO_HEADER="${GITHUB_WORKSPACE}/xr-voice-sdk/scripts/vsdk_json_to_header.py" \
-DCTRLM_CONFIG_JSON_CPC="${EMPTY_JSON}" \
-DCTRLM_CONFIG_JSON_CPC_SUB="${EMPTY_JSON}" \
-DCTRLM_CONFIG_JSON_CPC_ADD="${EMPTY_JSON}" \
-DCTRLM_CONFIG_JSON_MAIN_SUB="${EMPTY_JSON}" \
-DCTRLM_CONFIG_JSON_MAIN_ADD="${EMPTY_JSON}" \
-DCMAKE_CXX_FLAGS=" \
-I ${XRSDK_REAL_HEADERS} \
-I ${MOCK_DIR} \
-I ${MOCK_DIR}/devicesettings \
-I ${HEADERS_DIR} \
-I ${HEADERS_DIR}/rdk/iarmbus \
-I ${HEADERS_DIR}/rdk/ds \
-I ${HEADERS_DIR}/rdk/iarmmgrs-hal \
-I ${GITHUB_WORKSPACE}/install/usr/include \
-I /usr/include/libdrm \
${GLIB_CFLAGS} \
-include ${XLOG_COMPAT} \
-include ${MOCK_DIR}/Iarm.h \
-include ${MOCK_OVERRIDES} \
-include ${MOCK_DIR}/devicesettings.h \
-include ${MOCK_DIR}/Rfc.h \
-Wall -Wno-error \
-DSAFEC_DUMMY_API \
-DDISABLE_SECURITY_TOKEN" \
-DCMAKE_C_FLAGS=" \
-I ${XRSDK_REAL_HEADERS} \
-I ${MOCK_DIR} \
-I ${HEADERS_DIR} \
-I ${HEADERS_DIR}/rdk/iarmbus \
-I ${HEADERS_DIR}/rdk/ds \
-I ${HEADERS_DIR}/rdk/iarmmgrs-hal \
-I ${GITHUB_WORKSPACE}/install/usr/include \
-I /usr/include/libdrm \
${GLIB_CFLAGS} \
-Wall -Wno-error \
-DSAFEC_DUMMY_API \
-DDISABLE_SECURITY_TOKEN" \
-DCMAKE_EXE_LINKER_FLAGS="-L${GITHUB_WORKSPACE}/install/usr/lib -Wl,--unresolved-symbols=ignore-all"
Comment thread
msmith113 marked this conversation as resolved.

# CMakeLists.txt unconditionally appends -Werror via target_compile_options, which
# comes after CMAKE_CXX_FLAGS and overrides -Wno-error. Strip it from the generated
# build files after cmake configure. To remove this, add an ENABLE_WERROR option to
# CMakeLists.txt that appends -Wno-error when OFF, and pass -DENABLE_WERROR=OFF here.
find "${GITHUB_WORKSPACE}/build/control" \( -name "*.ninja" -o -name "flags.make" \) -exec sed -i 's/\(^\|[[:space:]]\)-Werror\([[:space:]]\|$\)/\1\2/g' {} \;

cmake --build build/control -j$(nproc) 2>&1
Comment thread
msmith113 marked this conversation as resolved.
echo "======================================================================================"
echo "control build complete"
exit 0
Loading
Loading