mirror of
https://github.com/espressif/openthread.git
synced 2026-08-14 06:37:46 +00:00
[cmake] add additional compiler options (#4500)
This commit is contained in:
+4
-4
@@ -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
|
||||
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user