diff --git a/CMakeLists.txt b/CMakeLists.txt index 59f88820c..ec9415478 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,10 @@ set(SYSTEM_SDL2_DEFAULT OFF) if (ANDROID) set(USE_RTMIDI_DEFAULT OFF) set(USE_BACKWARD_DEFAULT OFF) + find_library(TERMUX rt) + if (TERMUX) + message(STATUS "Termux detected") + endif() else() set(USE_RTMIDI_DEFAULT ON) set(USE_BACKWARD_DEFAULT ON) @@ -53,7 +57,7 @@ option(WARNINGS_ARE_ERRORS "Whether warnings in furnace's C++ code should be tre set(DEPENDENCIES_INCLUDE_DIRS "") -if (ANDROID) +if (ANDROID AND NOT TERMUX) set(DEPENDENCIES_DEFINES "IS_MOBILE") else() set(DEPENDENCIES_DEFINES "") @@ -188,7 +192,7 @@ if (USE_SDL2) endif() message(STATUS "Using system-installed SDL2") else() - if (ANDROID) + if (ANDROID AND NOT TERMUX) set(SDL_SHARED ON CACHE BOOL "Force no dynamically-linked SDL" FORCE) set(SDL_STATIC OFF CACHE BOOL "Force statically-linked SDL" FORCE) else() @@ -203,7 +207,7 @@ if (USE_SDL2) add_subdirectory(extern/SDL EXCLUDE_FROM_ALL) list(APPEND DEPENDENCIES_DEFINES HAVE_SDL2) list(APPEND DEPENDENCIES_INCLUDE_DIRS extern/SDL/include) - if (ANDROID) + if (ANDROID AND NOT TERMUX) list(APPEND DEPENDENCIES_LIBRARIES SDL2) else() list(APPEND DEPENDENCIES_LIBRARIES SDL2-static) @@ -571,7 +575,7 @@ endif() if (MSVC) add_executable(furnace WIN32 ${USED_SOURCES}) -elseif(ANDROID) +elseif(ANDROID AND NOT TERMUX) add_library(furnace SHARED ${USED_SOURCES}) else() add_executable(furnace ${USED_SOURCES}) @@ -594,7 +598,7 @@ if (PKG_CONFIG_FOUND AND (SYSTEM_FMT OR SYSTEM_LIBSNDFILE OR SYSTEM_ZLIB OR SYST endif() endif() -if (NOT ANDROID) +if (NOT ANDROID OR TERMUX) install(TARGETS furnace RUNTIME DESTINATION bin) if (NOT WIN32 AND NOT APPLE)