Skip to content

Commit

Permalink
Update compiler warning levels
Browse files Browse the repository at this point in the history
See #4550.
  • Loading branch information
jrw972 committed Apr 4, 2024
1 parent e685c3b commit 4bbbc58
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 3 deletions.
9 changes: 9 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ jobs:
-DCMAKE_UNITY_BUILD=TRUE \
-DBUILD_SHARED_LIBS=TRUE \
-DCMAKE_BUILD_TYPE=Debug \
-DOPENDDS_COMPILE_WARNINGS=WARNING \
-DOPENDDS_SECURITY=TRUE \
-DOPENDDS_ACE_TAO_SRC=$GITHUB_WORKSPACE/OpenDDS/build/ACE_TAO \
-DOPENDDS_MPC=$GITHUB_WORKSPACE/MPC \
Expand Down Expand Up @@ -131,6 +132,7 @@ jobs:
-DCMAKE_UNITY_BUILD=TRUE \
-DBUILD_SHARED_LIBS=FALSE \
-DCMAKE_BUILD_TYPE=Debug \
-DOPENDDS_COMPILE_WARNINGS=WARNING \
-DOPENDDS_ACE_TAO_SRC=$GITHUB_WORKSPACE/OpenDDS/build/ACE_TAO \
-DOPENDDS_MPC=$GITHUB_WORKSPACE/MPC \
-DOPENDDS_BUILD_TESTS=TRUE \
Expand Down Expand Up @@ -175,6 +177,7 @@ jobs:
-DCMAKE_UNITY_BUILD=TRUE \
-DBUILD_SHARED_LIBS=TRUE \
-DCMAKE_BUILD_TYPE=Debug \
-DOPENDDS_COMPILE_WARNINGS=WARNING \
-DOPENDDS_ACE_TAO_SRC=$GITHUB_WORKSPACE/OpenDDS/build/ACE_TAO \
-DOPENDDS_MPC=$GITHUB_WORKSPACE/MPC \
-DOPENDDS_BUILD_TESTS=TRUE \
Expand Down Expand Up @@ -227,6 +230,7 @@ jobs:
cmake -B build-host \
-G Ninja \
-DBUILD_SHARED_LIBS=FALSE \
-DOPENDDS_COMPILE_WARNINGS=WARNING \
-DOPENDDS_JUST_BUILD_HOST_TOOLS=TRUE
- uses: ammaraskar/gcc-problem-matcher@0.3.0
- name: Build Host Tools
Expand All @@ -241,6 +245,7 @@ jobs:
-DBUILD_SHARED_LIBS=TRUE \
-DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-29 \
--toolchain ${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake \
-DOPENDDS_COMPILE_WARNINGS=WARNING \
-DOPENDDS_CMAKE_VERBOSE=all \
-DOPENDDS_HOST_TOOLS=$(realpath build-host)
- name: Build Target
Expand Down Expand Up @@ -286,6 +291,7 @@ jobs:
cd OpenDDS
cmake -B build^
-DBUILD_SHARED_LIBS=TRUE^
-DOPENDDS_COMPILE_WARNINGS=WARNING^
-DOPENDDS_ACE_TAO_SRC=${{ github.workspace }}\OpenDDS\build\ACE_TAO^
-DOPENDDS_MPC=${{ github.workspace }}\MPC^
-DOPENDDS_BUILD_TESTS=TRUE^
Expand Down Expand Up @@ -331,6 +337,7 @@ jobs:
cmake -B build^
-DCMAKE_UNITY_BUILD=TRUE^
-DBUILD_SHARED_LIBS=FALSE^
-DOPENDDS_COMPILE_WARNINGS=WARNING^
-DOPENDDS_ACE_TAO_SRC=${{ github.workspace }}\OpenDDS\build\ACE_TAO^
-DOPENDDS_MPC=${{ github.workspace }}\MPC^
-DOPENDDS_BUILD_TESTS=TRUE^
Expand Down Expand Up @@ -386,6 +393,7 @@ jobs:
cmake -B build^
-DCMAKE_UNITY_BUILD=TRUE^
-DBUILD_SHARED_LIBS=TRUE^
-DOPENDDS_COMPILE_WARNINGS=WARNING^
-DOPENDDS_ACE_TAO_SRC=${{ github.workspace }}\OpenDDS\build\ACE_TAO^
-DOPENDDS_MPC=${{ github.workspace }}\MPC^
-DOPENDDS_BUILD_TESTS=TRUE^
Expand Down Expand Up @@ -431,6 +439,7 @@ jobs:
cmake -B build^
-DCMAKE_UNITY_BUILD=TRUE^
-DBUILD_SHARED_LIBS=FALSE^
-DOPENDDS_COMPILE_WARNINGS=WARNING^
-DOPENDDS_ACE_TAO_SRC=${{ github.workspace }}\OpenDDS\build\ACE_TAO^
-DOPENDDS_MPC=${{ github.workspace }}\MPC^
-DOPENDDS_BUILD_TESTS=TRUE^
Expand Down
21 changes: 18 additions & 3 deletions cmake/opendds_build_helpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set(_opendds_exec_perms
GROUP_READ GROUP_WRITE GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE)

function(_opendds_alias target)
function(_opendds_target target)
# This is the name the target should be exported from CMake-build OpenDDS as
# or imported in the MPC-built OpenDDS CMake package. For consistency and
# convenience, alias it so we can use it within the OpenDDS CMake build.
Expand All @@ -18,6 +18,21 @@ function(_opendds_alias target)
add_executable("${name}" ALIAS "${target}")
endif()
set_target_properties(${target} PROPERTIES EXPORT_NAME "${name}")

if(OPENDDS_COMPILE_WARNINGS)
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
target_compile_options(${target} PRIVATE
-Wall -Wpedantic -Wno-unused -Wextra -Wcast-align -Wcast-qual -Wctor-dtor-privacy
-Wdisabled-optimization -Wformat=2 -Winit-self -Wmissing-include-dirs -Woverloaded-virtual
-Wredundant-decls -Wshadow -Wsign-conversion -Wstrict-overflow=5 -Wundef
)
if(OPENDDS_COMPILE_WARNINGS STREQUAL "ERROR")
target_compile_options(${target} PRIVATE -Werror)
endif()
elseif(MSVC)
target_compile_options(${target} PRIVATE /W4)
endif()
endif()
endfunction()

function(_opendds_library target)
Expand All @@ -27,7 +42,7 @@ function(_opendds_library target)
cmake_parse_arguments(arg
"${no_value_options}" "${single_value_options}" "${multi_value_options}" ${ARGN})

_opendds_alias(${target})
_opendds_target(${target})
target_link_libraries(${target} PUBLIC OpenDDS_Config)

if(OPENDDS_CXX_STD)
Expand Down Expand Up @@ -86,7 +101,7 @@ function(_opendds_executable target)
cmake_parse_arguments(arg
"${no_value_options}" "${single_value_options}" "${multi_value_options}" ${ARGN})

_opendds_alias(${target})
_opendds_target(${target})
target_link_libraries(${target} PRIVATE OpenDDS_Config)
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${OPENDDS_BIN_DIR}")

Expand Down

0 comments on commit 4bbbc58

Please sign in to comment.