set(HELPER_TESTS 
    absolutetimedateformattestcase
    cacheddateformattestcase
    casttestcase
    charsetdecodertestcase
    charsetencodertestcase
    cyclicbuffertestcase
    datetimedateformattestcase
    filewatchdogtest
    inetaddresstestcase
    iso8601dateformattestcase
    messagebuffertest
    optionconvertertestcase
    propertiestestcase
    relativetimedateformattestcase
    stringhelpertestcase
    stringtokenizertestcase
    syslogwritertest
    timezonetestcase
    transcodertestcase
)
foreach(fileName IN LISTS HELPER_TESTS)
    add_executable(${fileName} "${fileName}.cpp")
    target_compile_definitions(${fileName} PRIVATE ${APR_COMPILE_DEFINITIONS} ${APR_UTIL_COMPILE_DEFINITIONS} )
    target_include_directories(${fileName} PRIVATE ${CMAKE_CURRENT_LIST_DIR} $<TARGET_PROPERTY:log4cxx,INCLUDE_DIRECTORIES> ${APR_INCLUDE_DIR})
    target_compile_features(${fileName} PUBLIC
        cxx_std_17)
endforeach()
target_sources(cacheddateformattestcase PRIVATE localechanger.cpp)
target_sources(datetimedateformattestcase PRIVATE  localechanger.cpp)
set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} ${HELPER_TESTS} PARENT_SCOPE)
