Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1,012 changes: 0 additions & 1,012 deletions .cproject

This file was deleted.

12 changes: 0 additions & 12 deletions .mxproject

This file was deleted.

32 changes: 0 additions & 32 deletions .project

This file was deleted.

2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"C_Cpp.default.cppStandard": "c++20",
"C_Cpp.default.cppStandard": "c++23",
"C_Cpp.default.cStandard": "c17",
"C_Cpp.clang_format_fallbackStyle": "{BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 80}",
"C_Cpp.formatting": "clangFormat",
Expand Down
68 changes: 36 additions & 32 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,16 @@ if(NOT PROJECT_IS_TOP_LEVEL)
set(STLIB_LIBRARY ${STLIB_LIBRARY} PARENT_SCOPE)
endif()

include(CTest)
enable_testing()

option(USE_ETHERNET "Enable ethernet peripheral" OFF)
option(TARGET_NUCLEO "Targets the STM32H723 Nucleo development board" OFF)

message(STATUS "${PROJECT_NAME} Ethernet: ${USE_ETHERNET}")
message(STATUS "${PROJECT_NAME} Nucleo: ${TARGET_NUCLEO}")
message(STATUS "${PROJECT_NAME} Crosscompiling: ${CMAKE_CROSSCOMPILING}")

# ============================
# Tests + GTest - Simulator
# ============================
if((PROJECT_IS_TOP_LEVEL AND (NOT CMAKE_CROSSCOMPILING)))
include(FetchContent)
option(BUILD_GMOCK OFF)
option(INSTALL_GTEST OFF)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.15.2
)
FetchContent_MakeAvailable(googletest)
add_library(GTest::GTest INTERFACE IMPORTED)
target_link_libraries(GTest::GTest INTERFACE gtest_main)
endif()

if(NOT CMAKE_CROSSCOMPILING)
message(STATUS "Compiling for simulator")
Expand Down Expand Up @@ -216,25 +203,25 @@ add_library(${STLIB_LIBRARY} STATIC
$<$<AND:$<BOOL:${CMAKE_CROSSCOMPILING}>,$<BOOL:${USE_ETHERNET}>>:${LWIP_SOURCES}>
$<$<AND:$<BOOL:${CMAKE_CROSSCOMPILING}>,$<BOOL:${USE_ETHERNET}>>:${USER_LWIP_SOURCES}>

${HALAL_C_NO_ETH}
${HALAL_CPP_NO_ETH}
$<$<BOOL:${USE_ETHERNET}>:${HALAL_C_ETH}>
$<$<BOOL:${USE_ETHERNET}>:${HALAL_CPP_ETH}>
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${HALAL_C_NO_ETH}>
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${HALAL_CPP_NO_ETH}>
$<$<AND:$<BOOL:${CMAKE_CROSSCOMPILING}>,$<BOOL:${USE_ETHERNET}>>:${HALAL_C_ETH}>
$<$<AND:$<BOOL:${CMAKE_CROSSCOMPILING}>,$<BOOL:${USE_ETHERNET}>>:${HALAL_CPP_ETH}>

${CPP_UTILITIES_C}
${CPP_UTILITIES_CPP}
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${CPP_UTILITIES_C}>
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${CPP_UTILITIES_CPP}>

${STLIB_LOW_C_NO_ETH}
${STLIB_LOW_CPP_NO_ETH}
$<$<BOOL:${USE_ETHERNET}>:${STLIB_LOW_C_ETH}>
$<$<BOOL:${USE_ETHERNET}>:${STLIB_LOW_CPP_ETH}>
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${STLIB_LOW_C_NO_ETH}>
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${STLIB_LOW_CPP_NO_ETH}>
$<$<AND:$<BOOL:${CMAKE_CROSSCOMPILING}>,$<BOOL:${USE_ETHERNET}>>:${STLIB_LOW_C_ETH}>
$<$<AND:$<BOOL:${CMAKE_CROSSCOMPILING}>,$<BOOL:${USE_ETHERNET}>>:${STLIB_LOW_CPP_ETH}>

${STLIB_HIGH_C_NO_ETH}
${STLIB_HIGH_CPP_NO_ETH}
$<$<BOOL:${USE_ETHERNET}>:${STLIB_HIGH_C_ETH}>
$<$<BOOL:${USE_ETHERNET}>:${STLIB_HIGH_CPP_ETH}>
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${STLIB_HIGH_C_NO_ETH}>
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${STLIB_HIGH_CPP_NO_ETH}>
$<$<AND:$<BOOL:${CMAKE_CROSSCOMPILING}>,$<BOOL:${USE_ETHERNET}>>:${STLIB_HIGH_C_ETH}>
$<$<AND:$<BOOL:${CMAKE_CROSSCOMPILING}>,$<BOOL:${USE_ETHERNET}>>:${STLIB_HIGH_CPP_ETH}>

${CMAKE_CURRENT_LIST_DIR}/Src/ST-LIB.cpp
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:${CMAKE_CURRENT_LIST_DIR}/Src/ST-LIB.cpp>
)

set_target_properties(${STLIB_LIBRARY} PROPERTIES
Expand All @@ -248,7 +235,7 @@ target_compile_definitions(${STLIB_LIBRARY} PUBLIC
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:USE_HAL_DRIVER>
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:STM32H723xx>

$<$<NOT:$<BOOL:${CMAKE_CROSSCOMPILING}>>:SIM_ON>
$<$<NOT:$<BOOL:${CMAKE_CROSSCOMPILING}>>:TESTING_ENV>

$<$<BOOL:${USE_ETHERNET}>:STLIB_ETH>
$<IF:$<BOOL:${TARGET_NUCLEO}>,NUCLEO,BOARD>
Expand Down Expand Up @@ -313,6 +300,23 @@ target_include_directories(${STLIB_LIBRARY} PUBLIC
${CMAKE_CURRENT_LIST_DIR}/Inc/ST-LIB_HIGH
)


if(PROJECT_IS_TOP_LEVEL)
configure_file(
${CMAKE_CURRENT_LIST_DIR}/Inc/stm32h7xx_hal_conf_template.h
${CMAKE_CURRENT_BINARY_DIR}/stm32h7xx_hal_conf.h
COPYONLY
)

target_include_directories(${STLIB_LIBRARY} PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
)
else()
target_include_directories(${STLIB_LIBRARY} PUBLIC
${CMAKE_SOURCE_DIR}/Core/Inc
)
endif()

if(PROJECT_IS_TOP_LEVEL)
execute_process(
COMMAND ${CMAKE_COMMAND} -E create_symlink
Expand Down
3 changes: 3 additions & 0 deletions Inc/HALAL/HALAL.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#pragma once

#include "HALAL/Models/GPIO.hpp"
#include "HALAL/Models/Pin.hpp"

#include "HALAL/Models/HALconfig/HALconfig.hpp"
#include "HALAL/Models/DMA/DMA.hpp"

Expand Down
Loading