Files
xbanan/xbanan/CMakeLists.txt
Oskari Alaranta b41d979dcb Port to SDL3 instead of SDL2
Main reason is that SDL3 allows getting keyboard mappings with modifiers
2026-06-01 20:35:56 +03:00

62 lines
1.4 KiB
CMake

set(XBANAN_SOURCES
main.cpp
Base.cpp
Drawing.cpp
Events.cpp
Extensions.cpp
ExtBigReg.cpp
ExtRANDR.cpp
Font.cpp
Image.cpp
Keymap.cpp
SafeGetters.cpp
)
option(ENABLE_GLX "enable glx extension" ON)
if(ENABLE_GLX)
list(APPEND XBANAN_SOURCES ExtGLX.cpp)
endif()
option(ENABLE_SHM "enable shm extension" ON)
if(ENABLE_SHM)
list(APPEND XBANAN_SOURCES ExtSHM.cpp)
endif()
set(PLATFORM "banan-os" CACHE STRING "target platform")
set(VALID_PLATFORMS "banan-os" "SDL3")
if(NOT PLATFORM IN_LIST VALID_PLATFORMS)
message(FATAL_ERROR "platform \"${PLATFORM}\" not known, valid platforms are ${VALID_PLATFORMS}")
endif()
if(PLATFORM STREQUAL "banan-os")
list(APPEND XBANAN_SOURCES banan-os/banan-os.cpp)
elseif(PLATFORM STREQUAL "SDL3")
list(APPEND XBANAN_SOURCES SDL3/sdl3.cpp)
endif()
add_executable(xbanan ${XBANAN_SOURCES})
banan_link_library(xbanan ban)
banan_link_library(xbanan libdeflate)
banan_link_library(xbanan libinput)
if(PLATFORM STREQUAL "banan-os")
banan_link_library(xbanan libgui)
elseif(PLATFORM STREQUAL "SDL3")
find_package(SDL3 REQUIRED)
banan_link_library(xbanan SDL3::SDL3)
endif()
target_compile_options(xbanan PRIVATE -Wall -Wextra)
target_compile_options(xbanan PRIVATE
-Wno-sign-compare
-Wno-missing-field-initializers
-Wno-unused-variable
-Wno-unused-but-set-variable
)
#target_compile_options(xbanan PRIVATE -fsanitize=address)
#target_link_options(xbanan PRIVATE -fsanitize=address)
install(TARGETS xbanan OPTIONAL)