diff --git a/CMakeLists.txt b/CMakeLists.txt index 63b2138e..dc11c43e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ # CMake project definitions # ============================================================================== cmake_minimum_required(VERSION 3.16.0) -project(ot-efr32 VERSION 1.0.0) +project(ot-efr32 VERSION 1.0.0 LANGUAGES C CXX ASM) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) diff --git a/slc/exporter_templates/platform_library/CMakeLists.txt.jinja b/slc/exporter_templates/platform_library/CMakeLists.txt.jinja index e211d2e8..8f6cf25f 100644 --- a/slc/exporter_templates/platform_library/CMakeLists.txt.jinja +++ b/slc/exporter_templates/platform_library/CMakeLists.txt.jinja @@ -88,19 +88,12 @@ target_include_directories({{PROJECT_NAME}} PRIVATE # ============================================================================== target_sources({{PROJECT_NAME}} PRIVATE {%- for source in NON_MBEDTLS_SOURCES %} - {%- if source.endswith('.c') or source.endswith('.cpp') or source.endswith('.h') or source.endswith('.hpp') %} + {%- if source.endswith('.c') or source.endswith('.cpp') or source.endswith('.h') or source.endswith('.hpp') or source.endswith('.s') or source.endswith('.S') %} {{source}} {%- endif %} {%- endfor %} ) -{%- for source in NON_MBEDTLS_SOURCES %} - {%- if source.endswith('.s') or source.endswith('.S') %} -target_sources({{PROJECT_NAME}} PRIVATE {{source}}) -set_property(SOURCE {{source}} PROPERTY LANGUAGE C) - {%- endif %} -{%- endfor %} - # ============================================================================== # Compile definitions # ============================================================================== diff --git a/src/efr32mg1/arm-none-eabi.cmake b/src/efr32mg1/arm-none-eabi.cmake index 9f2e385f..543c7ac4 100644 --- a/src/efr32mg1/arm-none-eabi.cmake +++ b/src/efr32mg1/arm-none-eabi.cmake @@ -31,7 +31,7 @@ set(CMAKE_SYSTEM_PROCESSOR ARM) set(CMAKE_C_COMPILER arm-none-eabi-gcc) set(CMAKE_CXX_COMPILER arm-none-eabi-g++) -set(CMAKE_ASM_COMPILER arm-none-eabi-as) +set(CMAKE_ASM_COMPILER arm-none-eabi-gcc) set(CMAKE_RANLIB arm-none-eabi-ranlib) execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -40,6 +40,7 @@ set(COMMON_C_FLAGS "-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-ab set(CMAKE_C_FLAGS_INIT "${COMMON_C_FLAGS} -std=c99") set(CMAKE_CXX_FLAGS_INIT "${COMMON_C_FLAGS} -fno-exceptions -fno-rtti") +set(CMAKE_ASM_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} -x assembler-with-cpp") set(CMAKE_EXE_LINKER_FLAGS_INIT "${COMMON_C_FLAGS} -specs=nano.specs -specs=nosys.specs") set(CMAKE_C_FLAGS_DEBUG "-Og -g") diff --git a/src/efr32mg12/arm-none-eabi.cmake b/src/efr32mg12/arm-none-eabi.cmake index 9f2e385f..543c7ac4 100644 --- a/src/efr32mg12/arm-none-eabi.cmake +++ b/src/efr32mg12/arm-none-eabi.cmake @@ -31,7 +31,7 @@ set(CMAKE_SYSTEM_PROCESSOR ARM) set(CMAKE_C_COMPILER arm-none-eabi-gcc) set(CMAKE_CXX_COMPILER arm-none-eabi-g++) -set(CMAKE_ASM_COMPILER arm-none-eabi-as) +set(CMAKE_ASM_COMPILER arm-none-eabi-gcc) set(CMAKE_RANLIB arm-none-eabi-ranlib) execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -40,6 +40,7 @@ set(COMMON_C_FLAGS "-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-ab set(CMAKE_C_FLAGS_INIT "${COMMON_C_FLAGS} -std=c99") set(CMAKE_CXX_FLAGS_INIT "${COMMON_C_FLAGS} -fno-exceptions -fno-rtti") +set(CMAKE_ASM_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} -x assembler-with-cpp") set(CMAKE_EXE_LINKER_FLAGS_INIT "${COMMON_C_FLAGS} -specs=nano.specs -specs=nosys.specs") set(CMAKE_C_FLAGS_DEBUG "-Og -g") diff --git a/src/efr32mg13/arm-none-eabi.cmake b/src/efr32mg13/arm-none-eabi.cmake index 9f2e385f..543c7ac4 100644 --- a/src/efr32mg13/arm-none-eabi.cmake +++ b/src/efr32mg13/arm-none-eabi.cmake @@ -31,7 +31,7 @@ set(CMAKE_SYSTEM_PROCESSOR ARM) set(CMAKE_C_COMPILER arm-none-eabi-gcc) set(CMAKE_CXX_COMPILER arm-none-eabi-g++) -set(CMAKE_ASM_COMPILER arm-none-eabi-as) +set(CMAKE_ASM_COMPILER arm-none-eabi-gcc) set(CMAKE_RANLIB arm-none-eabi-ranlib) execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -40,6 +40,7 @@ set(COMMON_C_FLAGS "-mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-ab set(CMAKE_C_FLAGS_INIT "${COMMON_C_FLAGS} -std=c99") set(CMAKE_CXX_FLAGS_INIT "${COMMON_C_FLAGS} -fno-exceptions -fno-rtti") +set(CMAKE_ASM_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} -x assembler-with-cpp") set(CMAKE_EXE_LINKER_FLAGS_INIT "${COMMON_C_FLAGS} -specs=nano.specs -specs=nosys.specs") set(CMAKE_C_FLAGS_DEBUG "-Og -g") diff --git a/src/efr32mg21/arm-none-eabi.cmake b/src/efr32mg21/arm-none-eabi.cmake index 04603163..a803b08e 100644 --- a/src/efr32mg21/arm-none-eabi.cmake +++ b/src/efr32mg21/arm-none-eabi.cmake @@ -31,7 +31,7 @@ set(CMAKE_SYSTEM_PROCESSOR ARM) set(CMAKE_C_COMPILER arm-none-eabi-gcc) set(CMAKE_CXX_COMPILER arm-none-eabi-g++) -set(CMAKE_ASM_COMPILER arm-none-eabi-as) +set(CMAKE_ASM_COMPILER arm-none-eabi-gcc) set(CMAKE_RANLIB arm-none-eabi-ranlib) execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -40,6 +40,7 @@ set(COMMON_C_FLAGS "-mcpu=cortex-m33 -mthumb -fmessage-length=0 set(CMAKE_C_FLAGS_INIT "${COMMON_C_FLAGS} -std=c99") set(CMAKE_CXX_FLAGS_INIT "${COMMON_C_FLAGS} -fno-exceptions -fno-rtti") +set(CMAKE_ASM_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} -x assembler-with-cpp") set(CMAKE_EXE_LINKER_FLAGS_INIT "${COMMON_C_FLAGS} -specs=nano.specs -specs=nosys.specs") set(CMAKE_C_FLAGS_DEBUG "-Og -g") diff --git a/src/efr32mg24/arm-none-eabi.cmake b/src/efr32mg24/arm-none-eabi.cmake index 04603163..a803b08e 100644 --- a/src/efr32mg24/arm-none-eabi.cmake +++ b/src/efr32mg24/arm-none-eabi.cmake @@ -31,7 +31,7 @@ set(CMAKE_SYSTEM_PROCESSOR ARM) set(CMAKE_C_COMPILER arm-none-eabi-gcc) set(CMAKE_CXX_COMPILER arm-none-eabi-g++) -set(CMAKE_ASM_COMPILER arm-none-eabi-as) +set(CMAKE_ASM_COMPILER arm-none-eabi-gcc) set(CMAKE_RANLIB arm-none-eabi-ranlib) execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -40,6 +40,7 @@ set(COMMON_C_FLAGS "-mcpu=cortex-m33 -mthumb -fmessage-length=0 set(CMAKE_C_FLAGS_INIT "${COMMON_C_FLAGS} -std=c99") set(CMAKE_CXX_FLAGS_INIT "${COMMON_C_FLAGS} -fno-exceptions -fno-rtti") +set(CMAKE_ASM_FLAGS_INIT "${CMAKE_C_FLAGS_INIT} -x assembler-with-cpp") set(CMAKE_EXE_LINKER_FLAGS_INIT "${COMMON_C_FLAGS} -specs=nano.specs -specs=nosys.specs") set(CMAKE_C_FLAGS_DEBUG "-Og -g")