cmake_minimum_required(VERSION 3.20) project(openvpngate VERSION 0.1.0 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_C_STANDARD 11) set(CMAKE_POSITION_INDEPENDENT_CODE ON) if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) set(CMAKE_BUILD_TYPE Release CACHE STRING "" FORCE) endif() option(OVG_BUILD_TESTS "Build unit tests" ON) option(OVG_WITH_TUNNEL "Build the OpenVPN3 + lwIP tunnel egress" ON) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) include(Dependencies) add_subdirectory(src) if(OVG_BUILD_TESTS) enable_testing() add_subdirectory(tests) endif() message(STATUS "") message(STATUS "openvpngate ${PROJECT_VERSION}") message(STATUS " build type : ${CMAKE_BUILD_TYPE}") message(STATUS " tunnel egress: ${OVG_WITH_TUNNEL}") message(STATUS " tests : ${OVG_BUILD_TESTS}") message(STATUS "")