* Add phone call authentication method * Remove dynamic mem allocation from error handler * Add more error handling code * Move error handling to different file * Remove Socket IO dependency * cleanup in websocket code * Add rapidjson as cmake dependency * Added Dockerfiles as primary build system for packages * Changed policy in CMakeList to work with lower version of CMake * Fix opensuse builds * Link filesystem library in gcc 8.5 or older
134 lines
4.5 KiB
CMake
Executable File
134 lines
4.5 KiB
CMake
Executable File
include(FetchContent)
|
|
|
|
set(INC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/authentication_step_interface.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/bits.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/check_application.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/configuration.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/core_handler.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/core_handler_interface.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/curl.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/error.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/error_handler.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/finish.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/init.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/json.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/memory.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/EMAIL.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/method_select.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/OTP.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/passcode_based_auth.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/PUSH.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/phone_call.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/SMS.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/SmsLink.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/websocket_based_auth.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/method/YOTP.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/non_owning_ptr.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/pam_action.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/pam.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/rublon.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/session.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/sign.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/static_string.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/std_experimental.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/std.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/stdlib.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/utils.hpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include/rublon/websockets.hpp
|
|
)
|
|
|
|
add_library(rublon-ssh-ifc
|
|
INTERFACE
|
|
)
|
|
|
|
if(${CMAKE_VERSION} VERSION_GREATER "3.19.0")
|
|
# need to be here to show up in the IDE
|
|
add_library(rublon-ssh_ide INTERFACE ${INC})
|
|
endif()
|
|
|
|
target_include_directories(rublon-ssh-ifc
|
|
INTERFACE
|
|
extern
|
|
${CMAKE_CURRENT_LIST_DIR}/include
|
|
)
|
|
|
|
install(
|
|
FILES
|
|
${INC}
|
|
DESTINATION
|
|
${CMAKE_INSTALL_INCLUDEDIR}/rublon
|
|
COMPONENT
|
|
PAM-DEV
|
|
)
|
|
|
|
set(LWS_STATIC_PIC ON)
|
|
set(LWS_WITH_SHARED OFF)
|
|
|
|
set(LWS_ROLE_RAW_FILE OFF)
|
|
set(LWS_ROLE_DBUS OFF)
|
|
set(LWS_WITHOUT_DAEMONIZE ON)
|
|
set(LWS_WITHOUT_SERVER ON)
|
|
set(LWS_WITHOUT_TESTAPPS ON)
|
|
set(LWS_WITHOUT_TEST_CLIENT ON)
|
|
set(LWS_WITHOUT_TEST_PING ON)
|
|
set(LWS_WITHOUT_TEST_SERVER ON)
|
|
set(LWS_WITHOUT_TEST_SERVER_EXTPOLL ON)
|
|
|
|
set(LWS_UNIX_SOCK OFF)
|
|
|
|
set(LWS_WITH_DIR OFF)
|
|
set(LWS_WITH_FILE_OPS OFF)
|
|
set(LWS_WITH_HTTP2 OFF)
|
|
set(LWS_WITH_HTTP_BASIC_AUTH OFF)
|
|
set(LWS_WITH_JPEG OFF)
|
|
set(LWS_WITH_JSONRPC OFF)
|
|
set(LWS_WITH_LEJP OFF)
|
|
set(LWS_WITH_LEJP_CONF OFF)
|
|
set(LWS_WITH_CONMON OFF)
|
|
set(LWS_WITH_CACHE_NSCOOKIEJAR OFF)
|
|
set(LWS_WITH_CBOR OFF)
|
|
set(LWS_WITH_CBOR_FLOAT OFF)
|
|
set(LWS_WITH_GZINFLATE OFF)
|
|
set(LWS_WITH_SECURE_STREAMS OFF)
|
|
set(LWS_WITH_WOL OFF)
|
|
set(LWS_WITH_UPNG OFF)
|
|
set(LWS_WITH_UDP OFF)
|
|
|
|
set(RAPIDJSON_BUILD_DOC OFF CACHE BOOL "" FORCE)
|
|
set(RAPIDJSON_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
|
set(RAPIDJSON_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
set(RAPIDJSON_BUILD_CXX17 ON CACHE BOOL "" FORCE)
|
|
|
|
cmake_policy(SET CMP0077 NEW)
|
|
|
|
if(${CMAKE_VERSION} VERSION_GREATER "3.23.0")
|
|
cmake_policy(SET CMP0135 NEW)
|
|
endif()
|
|
|
|
FetchContent_Declare(
|
|
libwebsockets
|
|
URL https://github.com/warmcat/libwebsockets/archive/refs/tags/v4.3.3.zip
|
|
URL_HASH MD5=96ad80a3283825a9af6a2d9d1acbd132
|
|
)
|
|
|
|
FetchContent_MakeAvailable(libwebsockets)
|
|
|
|
FetchContent_Declare(
|
|
RapidJSON
|
|
URL https://github.com/Tencent/rapidjson/archive/refs/tags/v1.1.0.zip
|
|
URL_HASH MD5=ceb1cf16e693a3170c173dc040a9d2bd
|
|
)
|
|
|
|
if(NOT RapidJSON_POPULATED)
|
|
FetchContent_Populate(RapidJSON)
|
|
add_subdirectory(${rapidjson_SOURCE_DIR} ${rapidjson_BINARY_DIR})
|
|
endif()
|
|
|
|
add_subdirectory(lib)
|
|
add_subdirectory(bin)
|
|
|
|
# if(${ENABLE_TESTS})
|
|
# add_subdirectory(tests)
|
|
# endif()
|