Skip to content

Commit 558c57c

Browse files
committed
Merge branch 'main' of https://github.com/StratifyLabs/API
2 parents 4584c4b + 7daa02e commit 558c57c

64 files changed

Lines changed: 2735 additions & 1642 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33

44
## New Features
55

6+
- Add `var::List` as a wrapper for `std::list`
7+
- Add `var::ContainerObject` as the base to container classes
8+
- Provides more access to algorithms. Allows for easier iteration.
9+
- Add `api::SystemResource` to encapsulate system resources and minimize the use of the rule of 5.
10+
- Documentation updates for `API`
611
- Use a `printer::Printer*` to print help when using `sys::Cli::show_help()`
712
- Add `sys::System::get_executable_suffix()` for desktop builds
813
- Add `fs::AssetFileSystem` for use on desktop builds to manage bundled assets
@@ -22,6 +27,7 @@
2227

2328
## Bug Fixes
2429

30+
- Many minor bug fixes based on `SonarLint` suggestions
2531
- The function `sys::Cli::show_version` was not implemented (it is now)
2632
- Remove relative links in `README.md`
2733
- Minor (SonarLint) fixes in `printer::MarkdownPrinter`

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required (VERSION 3.12)
22

3-
set(API_PROJECT_VERSION 1.1.0 CACHE INTERNAL "API version")
3+
set(API_PROJECT_VERSION 1.3.0 CACHE INTERNAL "API version")
44
project(API
55
LANGUAGES CXX C
66
VERSION ${API_PROJECT_VERSION}

libraries/API/api.cmake

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,29 +49,36 @@ macro(api_target NAME DIRECTORIES)
4949
-Os
5050
)
5151

52+
if(SOS_IS_ARM)
53+
target_compile_options(${RELEASE_TARGET}
54+
PUBLIC
55+
-fno-threadsafe-statics
56+
)
57+
endif()
58+
5259
target_include_directories(${RELEASE_TARGET}
5360
INTERFACE
5461
$<INSTALL_INTERFACE:include/${NAME}>
5562
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
5663
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include>
5764
)
5865

59-
foreach (DIRECTORY ${DIRECTORIES})
66+
foreach(DIRECTORY ${DIRECTORIES})
6067
target_include_directories(${RELEASE_TARGET}
6168
INTERFACE
6269
$<INSTALL_INTERFACE:include/${DIRECTORY}>
6370
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../${DIRECTORY}/include>
6471
)
65-
endforeach (DIRECTORY)
72+
endforeach(DIRECTORY)
6673

6774
string(COMPARE EQUAL ${NAME} API IS_API)
6875
set(LOCAL_DIRECTORIES ${DIRECTORIES})
69-
if (IS_API AND SOS_IS_ARM)
76+
if(IS_API AND SOS_IS_ARM)
7077
#list(APPEND LOCAL_DIRECTORIES StratifyOS_crt)
7178
target_compile_options(${RELEASE_TARGET}
7279
INTERFACE
7380
-mlong-calls)
74-
endif ()
81+
endif()
7582

7683
target_include_directories(${RELEASE_TARGET}
7784
PUBLIC
@@ -84,7 +91,7 @@ macro(api_target NAME DIRECTORIES)
8491
add_library(${DEBUG_TARGET} STATIC)
8592
sos_sdk_copy_target(${RELEASE_TARGET} ${DEBUG_TARGET})
8693

87-
if (SOS_IS_LINK)
94+
if(SOS_IS_LINK)
8895
sos_sdk_library_target(COVERAGE ${NAME} "" coverage ${SOS_ARCH})
8996
add_library(${COVERAGE_TARGET} STATIC)
9097
sos_sdk_copy_target(${RELEASE_TARGET} ${COVERAGE_TARGET})
@@ -100,10 +107,10 @@ macro(api_target NAME DIRECTORIES)
100107

101108
get_target_property(SOURCES ${COVERAGE_TARGET} SOURCES)
102109

103-
foreach (SOURCE ${SOURCES})
110+
foreach(SOURCE ${SOURCES})
104111
get_filename_component(FILE_NAME ${SOURCE} NAME)
105112
list(APPEND GCOV_SOURCES ${MY_DIR}/CMakeFiles/${COVERAGE_TARGET}.dir/src/${FILE_NAME}.gcda)
106-
endforeach ()
113+
endforeach()
107114

108115
add_custom_target(coverage_mkdir_${COVERAGE_TARGET}
109116
COMMAND mkdir -p ${CMAKE_CURRENT_SOURCE_DIR}/coverage/${COVERAGE_TARGET}
@@ -120,27 +127,27 @@ macro(api_target NAME DIRECTORIES)
120127
DEPENDS coverage_mkdir_${COVERAGE_TARGET}
121128
)
122129

123-
endif ()
130+
endif()
124131

125132
sos_sdk_library_add_arch_targets("${RELEASE_OPTIONS}" ${SOS_ARCH} "${LOCAL_DIRECTORIES}")
126133
sos_sdk_library_add_arch_targets("${DEBUG_OPTIONS}" ${SOS_ARCH} "${LOCAL_DIRECTORIES}")
127134

128-
if (IS_API)
135+
if(IS_API)
129136
get_target_property(RELEASE_LINK_LIBS ${RELEASE_TARGET} INTERFACE_LINK_LIBRARIES)
130137
get_target_property(DEBUG_LINK_LIBS ${DEBUG_TARGET} INTERFACE_LINK_LIBRARIES)
131-
if (SOS_IS_ARM)
138+
if(SOS_IS_ARM)
132139
target_link_libraries(API_release_${SOS_ARCH} PUBLIC StratifyOS_crt_release_${SOS_ARCH} stdc++ supc++)
133140
target_link_libraries(API_debug_${SOS_ARCH} PUBLIC StratifyOS_crt_debug_${SOS_ARCH} stdc++ supc++)
134141
message(STATUS "API_release_${SOS_ARCH} -> crt stdc++ supc++")
135142
message(STATUS "API_debug_${SOS_ARCH} -> crt stdc++ supc++")
136-
foreach (ARCH ${SOS_ARCH_LIST})
143+
foreach(ARCH ${SOS_ARCH_LIST})
137144
target_link_libraries(API_release_${ARCH} PUBLIC StratifyOS_crt_release_${ARCH} stdc++ supc++)
138145
target_link_libraries(API_debug_${ARCH} PUBLIC StratifyOS_crt_debug_${ARCH} stdc++ supc++)
139146
message(STATUS "API_release_${ARCH} -> crt stdc++ supc++")
140147
message(STATUS "API_debug_${ARCH} -> crt stdc++ supc++")
141-
endforeach ()
142-
endif ()
143-
endif ()
148+
endforeach()
149+
endif()
150+
endif()
144151

145152
add_custom_target(
146153
${NAME}_format

0 commit comments

Comments
 (0)