Arch Linux switched from buliding SDL2 with autotools to building it with cmake. This utterly breaks how users of SDL2 need to refer to it in their cmake scripts. Unlike the autotools-geenerated SDL2Config.cmake, the cmake-generated SDL2Config.cmake exports SDL2 as a PUBLIC target, that gets IMPORTED into the script that uses find_package(SDL2). In order to use it, you need to use target_link_libraries([YOUR TARGET] SDL2::SDL2). This will also implicitly set the include paths for the sources and make things work magically - or not. In the later case, good luck!