diff --git a/CMakeLists.txt b/CMakeLists.txt index 61990b5a6..51fc164c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,8 @@ endif() project(Dyninst-TestSuite) +option(DYNINST_ENABLE_32BIT_TESTS "Enable 32-bit tests" OFF) + list(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_SOURCE_DIR}/cmake" "${PROJECT_SOURCE_DIR}/cmake/Modules" @@ -289,7 +291,11 @@ install(TARGETS testA RUNTIME DESTINATION ${INSTALL_DIR} ARCHIVE DESTINATION ${INSTALL_DIR}) -if(UNIX) +if(DYNINST_ENABLE_32BIT_TESTS) + if(NOT TARGET Dyninst::dyninstAPI_RT_m32) + message(FATAL_ERROR "32-bit tests require the 32-bit Dyninst runtime") + endif() + check_mutatee_compiler(${M_gnu_cc} "-m32" "-m32" C "" m32_works) if(${m32_works}) message(STATUS "Building 32-bit helper libraries") diff --git a/checkMutateeCompiler.cmake b/checkMutateeCompiler.cmake index c54a3274e..8c1c86c97 100644 --- a/checkMutateeCompiler.cmake +++ b/checkMutateeCompiler.cmake @@ -1,5 +1,9 @@ MACRO (CHECK_MUTATEE_COMPILER _COMPILER _COMP_FLAG _LINK_FLAG _LANG _MSG _RESULT) + if(NOT DYNINST_ENABLE_32BIT_TESTS) + set(${_RESULT} 0 CACHE INTERNAL "Test ${VAR}") + endif() + if (NOT DEFINED ${_RESULT}) set(COMPILER_RESULT 0) set(COMPILER_OUTPUT "")