test: make the memory leak checker for tests work again
It turns out that these static constructors declared with
`__declspec(allocate(".CRT$XCU"))` don't work if you try to link them
from a static library. With this patch we go back to passing
'leak-check.c' as an extra source file when compiling a test.
This commit is contained in:
parent
532d57ed31
commit
126c00944c
@ -27,7 +27,8 @@ file(GLOB SOURCES_INCLUDE include/*.h)
|
||||
file(GLOB SOURCES_SRC src/*.c src/*.h)
|
||||
file(GLOB SOURCES_SRC_C src/*.c)
|
||||
file(GLOB SOURCES_TEST test/*.c)
|
||||
file(GLOB SOURCES_TEST_SHARED test/shared/*.c test/shared/*.h)
|
||||
file(GLOB SOURCES_TEST_LEAK_CHECK test/shared/leak-check.*)
|
||||
file(GLOB SOURCES_TEST_UTIL test/shared/test-util.*)
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
source_group(doc FILES ${SOURCES_DOC})
|
||||
@ -35,7 +36,7 @@ source_group(config FILES ${SOURCES_CONFIG})
|
||||
source_group(include FILES ${SOURCES_INCLUDE})
|
||||
source_group(src FILES ${SOURCES_SRC})
|
||||
source_group("" FILES ${SOURCES_TEST})
|
||||
source_group(test/shared FILES ${SOURCES_TEST_SHARED})
|
||||
source_group(test/shared FILES ${SOURCES_TEST_LEAK_CHECK} ${SOURCES_TEST_UTIL})
|
||||
|
||||
get_filename_component(LIB_NAME ${SOURCES_INCLUDE} NAME_WE)
|
||||
|
||||
@ -132,7 +133,7 @@ set(TESTING_LIB_TARGET "${LIB_NAME}-testing.lib")
|
||||
add_library(
|
||||
${TESTING_LIB_TARGET} STATIC
|
||||
${SOURCES_CONFIG_EXTERNAL_STATIC} ${SOURCES_CONFIG_INTERNAL_DEFAULT}
|
||||
${SOURCES_INCLUDE} ${SOURCES_SRC} ${SOURCES_TEST_SHARED}
|
||||
${SOURCES_INCLUDE} ${SOURCES_SRC} ${SOURCES_TEST_UTIL}
|
||||
)
|
||||
target_include_directories(
|
||||
${TESTING_LIB_TARGET} PUBLIC
|
||||
@ -145,7 +146,7 @@ set_target_properties(
|
||||
|
||||
foreach(TEST_SOURCE ${SOURCES_TEST})
|
||||
get_filename_component(TEST_NAME ${TEST_SOURCE} NAME_WE)
|
||||
add_executable(${TEST_NAME} ${TEST_SOURCE})
|
||||
add_executable(${TEST_NAME} ${TEST_SOURCE} ${SOURCES_TEST_LEAK_CHECK})
|
||||
target_include_directories(
|
||||
${TEST_NAME} PUBLIC
|
||||
config/external/static config/internal/default include src test/shared
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user