mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-19 13:09:39 -07:00
Build setsu from root (#267)
This commit is contained in:
parent
000a125a8d
commit
d82c5b435a
3 changed files with 48 additions and 24 deletions
|
@ -3,11 +3,18 @@ cmake_minimum_required(VERSION 3.2)
|
||||||
|
|
||||||
project(chiaki)
|
project(chiaki)
|
||||||
|
|
||||||
|
# Like option(), but the value can also be AUTO
|
||||||
|
macro(tri_option name desc default)
|
||||||
|
set("${name}" "${default}" CACHE STRING "${desc}")
|
||||||
|
set_property(CACHE "${name}" PROPERTY STRINGS AUTO ON OFF)
|
||||||
|
endmacro()
|
||||||
|
|
||||||
option(CHIAKI_ENABLE_TESTS "Enable tests for Chiaki" ON)
|
option(CHIAKI_ENABLE_TESTS "Enable tests for Chiaki" ON)
|
||||||
option(CHIAKI_ENABLE_CLI "Enable CLI for Chiaki" OFF)
|
option(CHIAKI_ENABLE_CLI "Enable CLI for Chiaki" OFF)
|
||||||
option(CHIAKI_ENABLE_GUI "Enable Qt GUI" ON)
|
option(CHIAKI_ENABLE_GUI "Enable Qt GUI" ON)
|
||||||
option(CHIAKI_ENABLE_ANDROID "Enable Android (Use only as part of the Gradle Project)" OFF)
|
option(CHIAKI_ENABLE_ANDROID "Enable Android (Use only as part of the Gradle Project)" OFF)
|
||||||
option(CHIAKI_ENABLE_SWITCH "Enable Nintendo Switch (Requires devKitPro libnx)" OFF)
|
option(CHIAKI_ENABLE_SWITCH "Enable Nintendo Switch (Requires devKitPro libnx)" OFF)
|
||||||
|
tri_option(CHIAKI_ENABLE_SETSU "Enable libsetsu for touchpad input from controller" AUTO)
|
||||||
option(CHIAKI_LIB_ENABLE_OPUS "Use Opus as part of Chiaki Lib" ON)
|
option(CHIAKI_LIB_ENABLE_OPUS "Use Opus as part of Chiaki Lib" ON)
|
||||||
option(CHIAKI_LIB_ENABLE_MBEDTLS "Use mbedtls instead of OpenSSL as part of Chiaki Lib" OFF)
|
option(CHIAKI_LIB_ENABLE_MBEDTLS "Use mbedtls instead of OpenSSL as part of Chiaki Lib" OFF)
|
||||||
option(CHIAKI_LIB_OPENSSL_EXTERNAL_PROJECT "Use OpenSSL as CMake external project" OFF)
|
option(CHIAKI_LIB_OPENSSL_EXTERNAL_PROJECT "Use OpenSSL as CMake external project" OFF)
|
||||||
|
@ -30,7 +37,7 @@ set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION})
|
||||||
set(CPACK_DEBIAN_PACKAGE_SECTION "games")
|
set(CPACK_DEBIAN_PACKAGE_SECTION "games")
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake;${CMAKE_CURRENT_SOURCE_DIR}/setsu/cmake")
|
||||||
|
|
||||||
# configure nintendo switch toolchain
|
# configure nintendo switch toolchain
|
||||||
if(CHIAKI_ENABLE_SWITCH AND CHIAKI_ENABLE_SWITCH_LINUX)
|
if(CHIAKI_ENABLE_SWITCH AND CHIAKI_ENABLE_SWITCH_LINUX)
|
||||||
|
@ -64,6 +71,30 @@ if(CHIAKI_ENABLE_CLI)
|
||||||
add_subdirectory(cli)
|
add_subdirectory(cli)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CHIAKI_ENABLE_SETSU)
|
||||||
|
find_package(Udev)
|
||||||
|
find_package(Evdev)
|
||||||
|
if(Udev_FOUND AND Evdev_FOUND)
|
||||||
|
set(CHIAKI_ENABLE_SETSU ON)
|
||||||
|
else()
|
||||||
|
if(NOT CHIAKI_ENABLE_SETSU STREQUAL AUTO)
|
||||||
|
message(FATAL_ERROR "
|
||||||
|
CHIAKI_ENABLE_SETSU is set to ON, but its dependencies (udev and evdev) could not be resolved.
|
||||||
|
Keep in mind that setsu is only supported on Linux!")
|
||||||
|
endif()
|
||||||
|
set(CHIAKI_ENABLE_SETSU OFF)
|
||||||
|
endif()
|
||||||
|
if(CHIAKI_ENABLE_SETSU)
|
||||||
|
add_subdirectory(setsu)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CHIAKI_ENABLE_SETSU)
|
||||||
|
message(STATUS "Setsu enabled")
|
||||||
|
else()
|
||||||
|
message(STATUS "Setsu disabled")
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CHIAKI_ENABLE_GUI)
|
if(CHIAKI_ENABLE_GUI)
|
||||||
#add_subdirectory(setsu)
|
#add_subdirectory(setsu)
|
||||||
add_subdirectory(gui)
|
add_subdirectory(gui)
|
||||||
|
|
|
@ -3,18 +3,15 @@
|
||||||
set(_prefix Evdev)
|
set(_prefix Evdev)
|
||||||
set(_target "${_prefix}::libevdev")
|
set(_target "${_prefix}::libevdev")
|
||||||
|
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig)
|
||||||
|
|
||||||
pkg_check_modules("${_prefix}" libevdev)
|
if(PkgConfig_FOUND)
|
||||||
|
pkg_check_modules("${_prefix}" libevdev)
|
||||||
function(resolve_location)
|
if(${_prefix}_FOUND AND NOT TARGET "${_target}")
|
||||||
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
if(${_prefix}_FOUND)
|
|
||||||
add_library("${_target}" INTERFACE IMPORTED)
|
add_library("${_target}" INTERFACE IMPORTED)
|
||||||
target_link_libraries("${_target}" INTERFACE ${${_prefix}_LIBRARIES})
|
target_link_libraries("${_target}" INTERFACE ${${_prefix}_LIBRARIES})
|
||||||
target_include_directories("${_target}" INTERFACE ${${_prefix}_INCLUDE_DIRS})
|
target_include_directories("${_target}" INTERFACE ${${_prefix}_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
|
@ -3,18 +3,14 @@
|
||||||
set(_prefix Udev)
|
set(_prefix Udev)
|
||||||
set(_target "${_prefix}::libudev")
|
set(_target "${_prefix}::libudev")
|
||||||
|
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig)
|
||||||
|
if(PkgConfig_FOUND)
|
||||||
pkg_check_modules("${_prefix}" libudev)
|
pkg_check_modules("${_prefix}" libudev)
|
||||||
|
if(${_prefix}_FOUND AND NOT TARGET "${_target}")
|
||||||
function(resolve_location)
|
|
||||||
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
if(${_prefix}_FOUND)
|
|
||||||
add_library("${_target}" INTERFACE IMPORTED)
|
add_library("${_target}" INTERFACE IMPORTED)
|
||||||
target_link_libraries("${_target}" INTERFACE ${${_prefix}_LIBRARIES})
|
target_link_libraries("${_target}" INTERFACE ${${_prefix}_LIBRARIES})
|
||||||
target_include_directories("${_target}" INTERFACE ${${_prefix}_INCLUDE_DIRS})
|
target_include_directories("${_target}" INTERFACE ${${_prefix}_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue