1*7c3d14c8STreehugger Robot# First, add the subdirectories which contain feature-based runtime libraries 2*7c3d14c8STreehugger Robot# and several convenience helper libraries. 3*7c3d14c8STreehugger Robot 4*7c3d14c8STreehugger Robotinclude(AddCompilerRT) 5*7c3d14c8STreehugger Robotinclude(SanitizerUtils) 6*7c3d14c8STreehugger Robot 7*7c3d14c8STreehugger Robotif(COMPILER_RT_BUILD_BUILTINS) 8*7c3d14c8STreehugger Robot add_subdirectory(builtins) 9*7c3d14c8STreehugger Robotendif() 10*7c3d14c8STreehugger Robot 11*7c3d14c8STreehugger Robotif(COMPILER_RT_BUILD_SANITIZERS) 12*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_INTERCEPTION) 13*7c3d14c8STreehugger Robot add_subdirectory(interception) 14*7c3d14c8STreehugger Robot endif() 15*7c3d14c8STreehugger Robot 16*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_SANITIZER_COMMON) 17*7c3d14c8STreehugger Robot add_subdirectory(sanitizer_common) 18*7c3d14c8STreehugger Robot add_subdirectory(stats) 19*7c3d14c8STreehugger Robot add_subdirectory(lsan) 20*7c3d14c8STreehugger Robot add_subdirectory(ubsan) 21*7c3d14c8STreehugger Robot endif() 22*7c3d14c8STreehugger Robot 23*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_ASAN) 24*7c3d14c8STreehugger Robot add_subdirectory(asan) 25*7c3d14c8STreehugger Robot endif() 26*7c3d14c8STreehugger Robot 27*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_DFSAN) 28*7c3d14c8STreehugger Robot add_subdirectory(dfsan) 29*7c3d14c8STreehugger Robot endif() 30*7c3d14c8STreehugger Robot 31*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_MSAN) 32*7c3d14c8STreehugger Robot add_subdirectory(msan) 33*7c3d14c8STreehugger Robot endif() 34*7c3d14c8STreehugger Robot 35*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_PROFILE) 36*7c3d14c8STreehugger Robot add_subdirectory(profile) 37*7c3d14c8STreehugger Robot endif() 38*7c3d14c8STreehugger Robot 39*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_TSAN) 40*7c3d14c8STreehugger Robot add_subdirectory(tsan) 41*7c3d14c8STreehugger Robot add_subdirectory(tsan/dd) 42*7c3d14c8STreehugger Robot endif() 43*7c3d14c8STreehugger Robot 44*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_SAFESTACK) 45*7c3d14c8STreehugger Robot add_subdirectory(safestack) 46*7c3d14c8STreehugger Robot endif() 47*7c3d14c8STreehugger Robot 48*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_CFI) 49*7c3d14c8STreehugger Robot add_subdirectory(cfi) 50*7c3d14c8STreehugger Robot endif() 51*7c3d14c8STreehugger Robot 52*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_ESAN) 53*7c3d14c8STreehugger Robot add_subdirectory(esan) 54*7c3d14c8STreehugger Robot endif() 55*7c3d14c8STreehugger Robot 56*7c3d14c8STreehugger Robot if(COMPILER_RT_HAS_SCUDO) 57*7c3d14c8STreehugger Robot add_subdirectory(scudo) 58*7c3d14c8STreehugger Robot endif() 59*7c3d14c8STreehugger Robotendif() 60