view test/CMakeLists.txt @ 533:71c884e610f0

- integration of patches from Raphael Luba, Thekla, Inc.: * integration of aggregate-by-value (struct, union) support patch for x64 (win and sysv) * windows/x64 asm additions to specify how stack unwinds (help for debuggers, exception handling, etc.) * see Changelog for details - new calling convention modes for thiscalls (platform agnostic, was specific before) * new signature character for platform agnostic thiscalls ('*' / DC_SIGCHAR_CC_THISCALL) - dcCallF(), dcVCallF(), dcArgF() and dcVArgF(): * added support for aggregates-by-value (wasn't part of patch) * change that those functions don't implicitly call dcReset() anymore, which was unflexible (breaking change) - added macros to feature test implementation for aggregate-by-value and syscall support - changed libdyncall_s.lib and libdyncallback_s.lib order in callback test makefiles, as some toolchains are picky about order - doc: * man page updates to describe aggregate interface * manual overview changes to highlight platforms with aggregate-by-value support - test/plain: replaced tests w/ old/stale sctruct interface with new aggregate one
author Tassilo Philipp
date Thu, 21 Apr 2022 13:35:47 +0200
parents 93628a1eaed4
children 917d5d213815
line wrap: on
line source

include_directories(
  ${PROJECT_SOURCE_DIR}/dynload
  ${PROJECT_SOURCE_DIR}/dyncall
  ${PROJECT_SOURCE_DIR}/dyncallback
)

if (CMAKE_CXX_COMPILER_WORKS)
add_subdirectory(plain_c++)
add_subdirectory(suite2)
add_subdirectory(suite3)
add_subdirectory(suite_floats)
add_subdirectory(ellipsis)
endif ()

add_subdirectory(call_suite)
add_subdirectory(call_suite_aggrs)
add_subdirectory(callback_suite)
add_subdirectory(callback_suite_aggrs)
add_subdirectory(plain)
add_subdirectory(suite)
add_subdirectory(callf)
add_subdirectory(nm)
add_subdirectory(dynload_plain)
add_subdirectory(resolve_self)
add_subdirectory(thunk)
add_subdirectory(malloc_wx)
add_subdirectory(callback_plain)
add_subdirectory(sharedlib)

if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86" AND CMAKE_CXX_COMPILER_WORKS)
add_subdirectory(suite_x86win32fast)
add_subdirectory(suite_x86win32std)
add_subdirectory(suite2_x86win32fast)
add_subdirectory(suite2_x86win32std)
endif()

if(${UNIX})
add_subdirectory(syscall)
endif()