|
|
@ -125,11 +125,6 @@ if(WIN32) |
|
|
|
|
|
|
|
|
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
find_package(Boost REQUIRED COMPONENTS system filesystem program_options) |
|
|
|
|
|
|
|
if(NOT DEFINED Boost_FOUND) |
|
|
|
|
|
|
|
message(SEND_ERROR "Boost is not found, or your boost version was below 1.46. Please download Boost!") |
|
|
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(WITH_UPNP) |
|
|
|
if(WITH_UPNP) |
|
|
|
add_definitions(-DUSE_UPNP) |
|
|
|
add_definitions(-DUSE_UPNP) |
|
|
|
endif() |
|
|
|
endif() |
|
|
@ -161,23 +156,6 @@ else() |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -ffunction-sections -fdata-sections") |
|
|
|
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -ffunction-sections -fdata-sections") |
|
|
|
set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "-Wl,--gc-sections") # -flto is added from above |
|
|
|
set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "-Wl,--gc-sections") # -flto is added from above |
|
|
|
|
|
|
|
|
|
|
|
# check for c++20 & c++17 support |
|
|
|
|
|
|
|
include(CheckCXXCompilerFlag) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(Boost_VERSION VERSION_GREATER_EQUAL "1.83") # min boost version for c++20 |
|
|
|
|
|
|
|
CHECK_CXX_COMPILER_FLAG("-std=c++20" CXX20_SUPPORTED) |
|
|
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
CHECK_CXX_COMPILER_FLAG("-std=c++17" CXX17_SUPPORTED) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(CXX20_SUPPORTED) |
|
|
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") |
|
|
|
|
|
|
|
elseif(CXX17_SUPPORTED) |
|
|
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") |
|
|
|
|
|
|
|
else() |
|
|
|
|
|
|
|
message(SEND_ERROR "C++20 nor C++17 standard not seems to be supported by compiler. Too old version?") |
|
|
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") |
|
|
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") |
|
|
@ -292,6 +270,11 @@ else() |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
find_package(Boost REQUIRED COMPONENTS system filesystem program_options) |
|
|
|
|
|
|
|
if(NOT DEFINED Boost_FOUND) |
|
|
|
|
|
|
|
message(SEND_ERROR "Boost is not found, or your boost version was below 1.46. Please download Boost!") |
|
|
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
find_package(OpenSSL REQUIRED) |
|
|
|
find_package(OpenSSL REQUIRED) |
|
|
|
if(NOT DEFINED OPENSSL_FOUND) |
|
|
|
if(NOT DEFINED OPENSSL_FOUND) |
|
|
|
message(SEND_ERROR "Could not find OpenSSL. Please download and install it first!") |
|
|
|
message(SEND_ERROR "Could not find OpenSSL. Please download and install it first!") |
|
|
@ -315,6 +298,26 @@ if(ZLIB_FOUND) |
|
|
|
link_directories(${ZLIB_ROOT}/lib) |
|
|
|
link_directories(${ZLIB_ROOT}/lib) |
|
|
|
endif() |
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# C++ standard to use, based on compiler and version of boost |
|
|
|
|
|
|
|
if(NOT MSVC) |
|
|
|
|
|
|
|
# check for c++20 & c++17 support |
|
|
|
|
|
|
|
include(CheckCXXCompilerFlag) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(Boost_VERSION VERSION_GREATER_EQUAL "1.83") # min boost version for c++20 |
|
|
|
|
|
|
|
CHECK_CXX_COMPILER_FLAG("-std=c++20" CXX20_SUPPORTED) |
|
|
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
CHECK_CXX_COMPILER_FLAG("-std=c++17" CXX17_SUPPORTED) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(CXX20_SUPPORTED) |
|
|
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") |
|
|
|
|
|
|
|
elseif(CXX17_SUPPORTED) |
|
|
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") |
|
|
|
|
|
|
|
else() |
|
|
|
|
|
|
|
message(SEND_ERROR "C++20 nor C++17 standard not seems to be supported by compiler. Too old version?") |
|
|
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
# load includes |
|
|
|
# load includes |
|
|
|
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR}) |
|
|
|
include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR}) |
|
|
|
|
|
|
|
|
|
|
@ -325,6 +328,7 @@ message(STATUS "Compiler vendor : ${CMAKE_CXX_COMPILER_ID}") |
|
|
|
message(STATUS "Compiler version : ${CMAKE_CXX_COMPILER_VERSION}") |
|
|
|
message(STATUS "Compiler version : ${CMAKE_CXX_COMPILER_VERSION}") |
|
|
|
message(STATUS "Compiler path : ${CMAKE_CXX_COMPILER}") |
|
|
|
message(STATUS "Compiler path : ${CMAKE_CXX_COMPILER}") |
|
|
|
message(STATUS "Architecture : ${ARCHITECTURE}") |
|
|
|
message(STATUS "Architecture : ${ARCHITECTURE}") |
|
|
|
|
|
|
|
message(STATUS "Compiler flags : ${CMAKE_CXX_FLAGS}") |
|
|
|
message(STATUS "Install prefix: : ${CMAKE_INSTALL_PREFIX}") |
|
|
|
message(STATUS "Install prefix: : ${CMAKE_INSTALL_PREFIX}") |
|
|
|
message(STATUS "Options:") |
|
|
|
message(STATUS "Options:") |
|
|
|
message(STATUS " AESNI : ${WITH_AESNI}") |
|
|
|
message(STATUS " AESNI : ${WITH_AESNI}") |
|
|
|