File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44
55> Important! ` fs::TemporaryDirectory() ` which is not used often was moved to ` sys::TemporaryDirectory() ` to avoid a circular dependency between SysAPI and FsAPI. This is a symantic versioning breaking change (though a small one)
66
7-
7+ - Updates to CMake test structure, added ` API_test ` target
88- Improved performance of ` File::get_line() `
99- Add ` StrackString<>::truncate() ` method
1010- Better test integration with super projects (` api_tests ` target)
Original file line number Diff line number Diff line change 11cmake_minimum_required (VERSION 3.12 )
22
3- if (NOT SOS_SDK_PATH)
4- set (SOS_SDK_PATH $ENV{SOS_SDK_PATH} )
5- endif ()
6-
7- set (CMAKE_MODULE_PATH ${SOS_SDK_PATH} /cmake)
8- set (CMAKE_TOOLCHAIN_FILE ${CMAKE_MODULE_PATH } /sos-toolchain.cmake)
9-
103set (API_PROJECT_VERSION 1.1.0 CACHE INTERNAL "API version" )
114project (API
125 LANGUAGES CXX C
136 VERSION ${API_PROJECT_VERSION}
147 )
158
16- include (sos-sdk )
17-
18-
19- if (SOS_IS_ARM AND NOT DEFINED API_IS_SDK)
20- include (StratifyOS )
21- endif ()
22-
23- include (CTest )
249
2510add_subdirectory (libraries/API API )
2611add_subdirectory (libraries/VarAPI VarAPI )
@@ -33,7 +18,11 @@ add_subdirectory(libraries/TestAPI TestAPI)
3318
3419option (API_IS_TEST "Enable test builds for API" OFF )
3520
21+ # Always available so dependency libs can use it
22+ add_custom_target (API_test ALL )
23+
3624if (API_IS_TEST)
25+ include (CTest )
3726 add_subdirectory (tests tests )
3827endif ()
3928
Original file line number Diff line number Diff line change @@ -111,7 +111,7 @@ function(api_add_test_executable NAME RAM_SIZE DEPENDENCIES)
111111 sos_sdk_app_target (RELEASE ${LOCAL_NAME} "unittest" release ${SOS_ARCH} )
112112 message (STATUS "API UnitTest Executable ${RELEASE_TARGET} " )
113113 add_executable (${RELEASE_TARGET} )
114- add_dependencies (api_tests ${RELEASE_TARGET} )
114+ add_dependencies (API_test ${RELEASE_TARGET} )
115115 target_sources (${RELEASE_TARGET}
116116 PRIVATE
117117 ${CMAKE_CURRENT_SOURCE_DIR } /src/main.cpp
Original file line number Diff line number Diff line change 22macro (api_test_executable NAME DIRECTORIES )
33 sos_sdk_app_target (RELEASE ${NAME} "unittest" release ${SOS_ARCH} )
44 add_executable (${RELEASE_TARGET} )
5- add_dependencies (api_tests ${RELEASE_TARGET} )
5+ add_dependencies (API_test ${RELEASE_TARGET} )
66
77 target_sources (${RELEASE_TARGET}
88 PRIVATE
@@ -55,6 +55,7 @@ macro(api_test_executable NAME DIRECTORIES)
5555
5656 if (SOS_IS_LINK)
5757 sos_sdk_add_test (${NAME} "unittest" release )
58+ set_tests_properties (${NAME} _release PROPERTIES DEPENDS API_Test)
5859 #sos_sdk_add_test(${NAME} "unittest" coverage)
5960 endif ()
6061
Original file line number Diff line number Diff line change 11cmake_minimum_required (VERSION 3.12 )
22
3- if (NOT SOS_SDK_PATH)
4- set (SOS_SDK_PATH $ENV{SOS_SDK_PATH} )
5- endif ()
6-
7- set (CMAKE_MODULE_PATH ${SOS_SDK_PATH} /cmake)
8- set (CMAKE_TOOLCHAIN_FILE ${CMAKE_MODULE_PATH } /sos-toolchain.cmake)
9- include (sos-sdk )
10-
11- add_custom_target (api_tests )
123
134add_subdirectory (API testsAPI )
145add_subdirectory (ChronoAPI testsChronoAPI )
@@ -17,25 +8,4 @@ add_subdirectory(VarAPI testsVarAPI)
178add_subdirectory (ThreadAPI testsThreadAPI )
189
1910
20- add_custom_target (coverage
21- DEPENDS coverage_test
22- coverage_ThreadAPI_coverage_link
23- coverage_FsAPI_coverage_link
24- coverage_ChronoAPI_coverage_link
25- coverage_VarAPI_coverage_link
26- )
27-
28- add_custom_target (coverage_test
29- COMMAND ctest -VV
30- DEPENDS clean_coverage
31- )
32-
33- add_custom_target (clean_coverage
34- DEPENDS
35- clean_coverage_ThreadAPI_coverage_link
36- clean_coverage_FsAPI_coverage_link
37- clean_coverage_ChronoAPI_coverage_link
38- clean_coverage_VarAPI_coverage_link
39- )
40-
4111
Original file line number Diff line number Diff line change 11#Copy this file to the application project folder as CMakeLists.txt
22cmake_minimum_required (VERSION 3.12 )
33
4- if (NOT SOS_SDK_PATH)
5- set (SOS_SDK_PATH $ENV{SOS_SDK_PATH} )
6- endif ()
7-
8- set (CMAKE_MODULE_PATH ${SOS_SDK_PATH} /cmake)
9- set (CMAKE_TOOLCHAIN_FILE ${CMAKE_MODULE_PATH } /sos-toolchain.cmake)
10- include (sos-sdk )
11-
124get_filename_component (SOS_NAME ${CMAKE_CURRENT_LIST_DIR } NAME )
135project (${SOS_NAME} CXX C )
146
@@ -27,3 +19,4 @@ set(DIRECTORIES
2719api_test_executable (ThreadAPI "${DIRECTORIES} " )
2820
2921
22+
You can’t perform that action at this time.
0 commit comments