[cmake] add additional compiler options (#4500)

This commit is contained in:
Jonathan Hui
2020-02-07 08:26:10 -08:00
committed by GitHub
parent de7083094e
commit 50e094865b
9 changed files with 105 additions and 4 deletions
+4 -4
View File
@@ -121,7 +121,7 @@ build_cc2538() {
git checkout -- . || die
git clean -xfd || die
mkdir build && cd build || die
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=examples/platforms/cc2538/arm-none-eabi.cmake -DOT_PLATFORM=cc2538 .. || die
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=examples/platforms/cc2538/arm-none-eabi.cmake -DOT_PLATFORM=cc2538 -DOT_COMPILE_WARNING_AS_ERROR=ON .. || die
ninja || die
cd .. || die
@@ -419,7 +419,7 @@ build_samr21() {
git checkout -- . || die
git clean -xfd || die
mkdir build && cd build || die
cmake -GNinja -DOT_PLATFORM=posix .. || die
cmake -GNinja -DOT_PLATFORM=posix -DOT_COMPILE_WARNING_AS_ERROR=ON .. || die
ninja || die
cd .. || die
@@ -586,14 +586,14 @@ build_samr21() {
git checkout -- . || die
git clean -xfd || die
mkdir build && cd build || die
cmake -GNinja -DOT_PLATFORM=posix-host -DOT_DAEMON=ON .. || die
cmake -GNinja -DOT_PLATFORM=posix-host -DOT_DAEMON=ON -DCOMPILE_WARNING_AS_ERROR=ON .. || die
ninja || die
cd .. || die
git checkout -- . || die
git clean -xfd || die
mkdir build && cd build || die
cmake -GNinja -DOT_PLATFORM=posix-host .. || die
cmake -GNinja -DOT_PLATFORM=posix-host -DCOMPILE_WARNING_AS_ERROR=ON .. || die
ninja || die
cd .. || die
+12
View File
@@ -36,6 +36,18 @@ include("${PROJECT_SOURCE_DIR}/etc/cmake/checks.cmake")
include("${PROJECT_SOURCE_DIR}/etc/cmake/options.cmake")
include("${PROJECT_SOURCE_DIR}/etc/cmake/functions.cmake")
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "(Apple)?[Cc]lang")
option(OT_COMPILE_WARNING_AS_ERROR "whether to include -Werror with gcc-compatible compilers")
if (OT_COMPILE_WARNING_AS_ERROR)
set(OT_CFLAGS -Werror)
endif()
set(OT_CFLAGS
$<$<COMPILE_LANGUAGE:C>:${OT_CFLAGS} -Wall -Wextra -Wshadow -Werror -pedantic-errors>
$<$<COMPILE_LANGUAGE:CXX>:${OT_FLAGS} -Wall -Wextra -Wshadow -Wno-c++14-compat -fno-exceptions>
)
endif()
file(READ .default-version OT_DEFAULT_VERSION)
execute_process(
COMMAND bash "-c" "third_party/nlbuild-autotools/repo/scripts/mkversion -b ${OT_DEFAULT_VERSION}"
+6
View File
@@ -55,12 +55,18 @@ add_library(openthread-cc2538
$<TARGET_OBJECTS:openthread-platform-utils>
)
set_property(TARGET openthread-cc2538 PROPERTY C_STANDARD 99)
target_link_libraries(openthread-cc2538 PRIVATE openthread-platform-utils)
target_link_options(openthread-cc2538 PUBLIC -T${PROJECT_SOURCE_DIR}/examples/platforms/cc2538/cc2538.ld)
target_link_options(openthread-cc2538 PUBLIC -Wl,-Map=$<TARGET_PROPERTY:NAME>.map)
target_compile_definitions(openthread-cc2538 PUBLIC ${OT_PLATFORM_DEFINES})
target_compile_options(openthread-cc2538 PRIVATE
${OT_CFLAGS}
)
target_include_directories(openthread-cc2538 PRIVATE
${OT_PUBLIC_INCLUDES}
${OT_PRIVATE_INCLUDES}
+8
View File
@@ -34,6 +34,8 @@ if(NOT OT_CONFIG)
endif()
list(APPEND OT_PLATFORM_DEFINES
"_BSD_SOURCE=1"
"_DEFAULT_SOURCE=1"
"OPENTHREAD_EXAMPLES_POSIX=1"
"OPENTHREAD_POSIX=1"
"OPENTHREAD_CONFIG_NCP_UART_ENABLE=1"
@@ -58,6 +60,8 @@ add_library(openthread-posix
$<TARGET_OBJECTS:openthread-platform-utils>
)
set_property(TARGET openthread-posix PROPERTY C_STANDARD 99)
find_library(LIBRT rt)
if(LIBRT)
target_link_libraries(openthread-posix PRIVATE ${LIBRT})
@@ -67,6 +71,10 @@ target_link_libraries(openthread-posix PRIVATE openthread-platform-utils)
target_compile_definitions(openthread-posix PUBLIC ${OT_PLATFORM_DEFINES})
target_compile_options(openthread-posix PRIVATE
${OT_CFLAGS}
)
target_include_directories(openthread-posix PRIVATE
${OT_PUBLIC_INCLUDES}
${OT_PRIVATE_INCLUDES}
+15
View File
@@ -29,6 +29,13 @@
add_library(openthread-cli-ftd)
add_library(openthread-cli-mtd)
set_target_properties(
openthread-cli-ftd openthread-cli-mtd
PROPERTIES
C_STANDARD 99
CXX_STANDARD 98
)
target_compile_definitions(openthread-cli-ftd PRIVATE
${OT_PRIVATE_DEFINES}
OPENTHREAD_FTD=1
@@ -39,6 +46,14 @@ target_compile_definitions(openthread-cli-mtd PRIVATE
OPENTHREAD_MTD=1
)
target_compile_options(openthread-cli-ftd PRIVATE
${OT_CFLAGS}
)
target_compile_options(openthread-cli-mtd PRIVATE
${OT_CFLAGS}
)
set(COMMON_INCLUDES
${OT_PRIVATE_INCLUDES}
${PROJECT_SOURCE_DIR}/src
+19
View File
@@ -30,6 +30,13 @@ add_library(openthread-ftd)
add_library(openthread-mtd)
add_library(openthread-radio)
set_target_properties(
openthread-ftd openthread-mtd openthread-radio
PROPERTIES
C_STANDARD 99
CXX_STANDARD 98
)
target_compile_definitions(openthread-ftd PRIVATE
${OT_PRIVATE_DEFINES}
OPENTHREAD_FTD=1
@@ -45,6 +52,18 @@ target_compile_definitions(openthread-radio PRIVATE
OPENTHREAD_RADIO=1
)
target_compile_options(openthread-ftd PRIVATE
${OT_CFLAGS}
)
target_compile_options(openthread-mtd PRIVATE
${OT_CFLAGS}
)
target_compile_options(openthread-radio PRIVATE
${OT_CFLAGS}
)
set(COMMON_INCLUDES
${OT_PRIVATE_INCLUDES}
${PROJECT_SOURCE_DIR}/src/core
+20
View File
@@ -30,6 +30,14 @@ add_library(openthread-ncp-ftd)
add_library(openthread-ncp-mtd)
add_library(openthread-rcp)
# We depend on C++11 to validate that NCP handlers are sorted.
set_target_properties(
openthread-ncp-mtd openthread-rcp
PROPERTIES
C_STANDARD 99
CXX_STANDARD 98
)
target_compile_definitions(openthread-ncp-ftd PRIVATE
${OT_PRIVATE_DEFINES}
OPENTHREAD_FTD=1
@@ -48,6 +56,18 @@ target_compile_definitions(openthread-rcp PRIVATE
OPENTHREAD_CONFIG_NCP_UART_ENABLE=1
)
target_compile_options(openthread-ncp-ftd PRIVATE
${OT_CFLAGS}
)
target_compile_options(openthread-ncp-mtd PRIVATE
${OT_CFLAGS}
)
target_compile_options(openthread-rcp PRIVATE
${OT_CFLAGS}
)
set(COMMON_INCLUDES
${OT_PRIVATE_INCLUDES}
${PROJECT_SOURCE_DIR}/src
+17
View File
@@ -44,6 +44,10 @@ if(OT_DAEMON)
OPENTHREAD_POSIX_APP_TYPE=2
)
target_compile_options(ot-daemon PRIVATE
${OT_CFLAGS}
)
target_link_libraries(ot-daemon PRIVATE
openthread-cli-ftd
${OT_PLATFORM_LIB}
@@ -57,6 +61,10 @@ if(OT_DAEMON)
client.c
)
target_compile_options(ot-ctl PRIVATE
${OT_CFLAGS}
)
target_include_directories(ot-ctl PRIVATE ${COMMON_INCLUDES})
else()
add_executable(ot-cli
@@ -69,6 +77,10 @@ else()
OPENTHREAD_POSIX_APP_TYPE=2
)
target_compile_options(ot-cli PRIVATE
${OT_CFLAGS}
)
target_link_libraries(ot-cli
openthread-cli-ftd
${OT_PLATFORM_LIB}
@@ -81,12 +93,17 @@ else()
add_executable(ot-ncp
main.c
)
target_include_directories(ot-ncp PRIVATE ${COMMON_INCLUDES})
target_compile_definitions(ot-ncp PRIVATE
OPENTHREAD_POSIX_APP_TYPE=1
)
target_compile_options(ot-ncp PRIVATE
${OT_CFLAGS}
)
target_link_libraries(ot-ncp
openthread-ncp-ftd
${OT_PLATFORM_LIB}
+4
View File
@@ -64,6 +64,10 @@ target_link_libraries(openthread-posix PUBLIC
target_compile_definitions(openthread-posix PUBLIC ${OT_PLATFORM_DEFINES})
target_compile_options(openthread-posix PRIVATE
${OT_CFLAGS}
)
target_include_directories(openthread-posix PRIVATE
${OT_PUBLIC_INCLUDES}
${OT_PRIVATE_INCLUDES}