@@ -46,22 +46,34 @@ if(PROJECT_IS_TOP_LEVEL)
4646 fetchcontent_makeavailable(${dep_name} )
4747 endforeach ()
4848
49- set (UNITY_CONFIG_INCLUDE_DIR
50- ${CMAKE_CURRENT_SOURCE_DIR} /unity_config/include /unity)
49+ set (UNITY_CONFIG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /unity/unity_config)
5150 add_subdirectory (${unity_SOURCE_DIR} unity)
5251 target_include_directories (
5352 unity PUBLIC $<BUILD_INTERFACE:${UNITY_CONFIG_INCLUDE_DIR} >
54- $<INSTALL_INTERFACE:unity_config/include /unity>)
55- file (GLOB_RECURSE UNITY_CFG_SRCS CONFIGURE_DEPENDS "unity_config/*.c" )
53+ $<INSTALL_INTERFACE:unity/unity_config>)
54+
55+ file (GLOB_RECURSE GG_TEST_SRCS CONFIGURE_DEPENDS "unity/gg_test/*.c" )
56+ add_library (gg-test ${GG_TEST_SRCS} )
57+
58+ target_include_directories (gg-test SYSTEM INTERFACE unity/gg_test/include )
59+ target_include_directories (gg-test PRIVATE unity/gg_test/include
60+ priv_include)
61+ target_compile_definitions (gg-test PRIVATE "GG_MODULE=(\" gg-test\" )" )
62+
63+ target_link_libraries (gg-test gg-sdk unity)
64+
65+ file (GLOB_RECURSE UNITY_CFG_SRCS CONFIGURE_DEPENDS "unity/unity_config/*.c" )
5666 add_library (unity-config STATIC ${UNITY_CFG_SRCS} )
5767 target_include_directories (unity-config PUBLIC unity_config/include /unity)
58- target_include_directories (unity-config SYSTEM
59- INTERFACE unity_config/include )
6068 target_include_directories (unity-config PRIVATE priv_include
6169 unity_config/include )
6270 target_compile_definitions (unity PUBLIC "UNITY_INCLUDE_CONFIG_H=1" )
6371 target_compile_definitions (unity-config PUBLIC "UNITY_INCLUDE_CONFIG_H=1" )
64- target_link_libraries (unity-config PRIVATE unity gg-sdk gg-ipc-mock)
72+ target_compile_definitions (unity-config PRIVATE "GG_MODULE=(\" gg-unity\" )" )
73+ target_link_libraries (unity-config PRIVATE unity gg-sdk)
74+
75+ set (aws-greengrass-component -sdk_C_TEST_DIR
76+ ${CMAKE_CURRENT_SOURCE_DIR} /test )
6577 endif ()
6678
6779 # Put outputs in build/bin and build/lib
@@ -277,30 +289,41 @@ if(PROJECT_IS_TOP_LEVEL)
277289 endif ()
278290 get_filename_component (test_name ${test_dir} NAME_WLE)
279291 file (GLOB_RECURSE TEST_SRCS CONFIGURE_DEPENDS ${test_dir} /*.c)
292+ if (NOT "${test_dir} /main.c" IN_LIST TEST_SRCS)
293+ list (APPEND TEST_SRCS test /main_ipc_overrides.c)
294+ endif ()
280295 foreach (src ${TEST_SRCS} )
281296 set_property (
282297 SOURCE ${src}
283298 APPEND_STRING
284299 PROPERTY COMPILE_FLAGS "-frandom-seed=${src} " )
285300 endforeach ()
286- if (NOT "${test_dir} /main.c" IN_LIST TEST_SRCS)
287- list (APPEND TEST_SRCS test /default_main.c)
288- endif ()
289301 add_executable (c_${test_name} _tests ${TEST_SRCS} )
290302 target_link_libraries (
291- c_${test_name} _tests PRIVATE gg-sdk gg-ipc-mock unity-config
292- unity )
303+ c_${test_name} _tests PRIVATE gg-sdk gg-ipc-mock unity-config unity
304+ gg- test )
293305 install (TARGETS c_${test_name} _tests)
294306 add_test (c_${test_name} _tests
295307 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /c_${test_name} _tests)
296308 endforeach ()
297309 endif ()
298310
299- target_compile_definitions (gg-sdk PUBLIC GG_TESTING)
300- target_link_libraries (gg-sdk PRIVATE unity-config unity)
311+ set_target_properties (gg-sdk PROPERTIES EXPORT_COMPILE_COMMANDS OFF )
312+
313+ add_executable (gg-sdk-test ${SRCS} test /main_no_overrides.c)
314+ target_compile_options (gg-sdk-test PRIVATE -pthread -fno-strict-aliasing
315+ -std=gnu11 -Wno-missing-braces)
316+ target_compile_definitions (gg-sdk-test PRIVATE _GNU_SOURCE)
317+ target_include_directories (gg-sdk-test PRIVATE include priv_include)
318+ target_include_directories (gg-sdk-test SYSTEM INTERFACE include )
319+
320+ target_compile_definitions (gg-sdk-test PRIVATE "GG_MODULE=(\" gg-sdk\" )" )
321+
322+ target_compile_definitions (gg-sdk-test
323+ PUBLIC GG_LOG_LEVEL=GG_LOG_${choose_level} )
324+ target_compile_definitions (gg-sdk-test PUBLIC GG_TESTING)
301325
302- add_executable (gg-sdk-test test /default_main.c)
303- target_link_libraries (gg-sdk-test PRIVATE unity-config unity gg-sdk)
326+ target_link_libraries (gg-sdk-test PRIVATE unity-config unity gg-test )
304327 add_test (gg-sdk-test ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /gg-sdk-test )
305328
306329endif ()
0 commit comments