|
@ -3,7 +3,15 @@ cmake_minimum_required(VERSION 2.6) |
|
|
include(CheckFunctionExists) |
|
|
include(CheckFunctionExists) |
|
|
SET(CMAKE_VERBOSE_MAKEFILE ON) |
|
|
SET(CMAKE_VERBOSE_MAKEFILE ON) |
|
|
|
|
|
|
|
|
# N2n information |
|
|
# N2n release information |
|
|
|
|
|
set(N2N_VERSION "2.7.0") |
|
|
|
|
|
set(N2N_OSNAME ${CMAKE_SYSTEM}) |
|
|
|
|
|
execute_process( |
|
|
|
|
|
COMMAND git --version |
|
|
|
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
|
|
|
|
|
OUTPUT_VARIABLE GIT_EXIST |
|
|
|
|
|
) |
|
|
|
|
|
if (GIT_EXIST) |
|
|
execute_process( |
|
|
execute_process( |
|
|
COMMAND git rev-list --count HEAD |
|
|
COMMAND git rev-list --count HEAD |
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
|
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
|
@ -16,33 +24,37 @@ execute_process( |
|
|
) |
|
|
) |
|
|
string(REGEX REPLACE "\n$" "" GIT_REV "${GIT_REV}") |
|
|
string(REGEX REPLACE "\n$" "" GIT_REV "${GIT_REV}") |
|
|
string(REGEX REPLACE "\n$" "" GIT_ID "${GIT_ID}") |
|
|
string(REGEX REPLACE "\n$" "" GIT_ID "${GIT_ID}") |
|
|
set(N2N_VERSION "2.7.0.r${GIT_REV}.${GIT_ID}") |
|
|
set(N2N_VERSION "${N2N_VERSION}.r${GIT_REV}.${GIT_ID}") |
|
|
set(N2N_OSNAME ${CMAKE_SYSTEM}) |
|
|
|
|
|
MESSAGE(STATUS "Build from git rev: ${N2N_VERSION}") |
|
|
MESSAGE(STATUS "Build from git rev: ${N2N_VERSION}") |
|
|
|
|
|
endif (GIT_EXIST) |
|
|
|
|
|
|
|
|
|
|
|
add_definitions(-DCMAKE_BUILD) |
|
|
|
|
|
add_definitions(-DGIT_RELEASE="" -DPACKAGE_VERSION="${N2N_VERSION}" -DPACKAGE_OSNAME="${N2N_OSNAME}") |
|
|
|
|
|
add_definitions(-DN2N_VERSION="${N2N_VERSION}" -DN2N_OSNAME="${N2N_OSNAME}") |
|
|
|
|
|
|
|
|
# N2n specific params |
|
|
|
|
|
OPTION(N2N_OPTION_AES "USE AES" ON) |
|
|
|
|
|
|
|
|
|
|
|
# Build information |
|
|
# Build information |
|
|
OPTION(BUILD_SHARED_LIBS "BUILD Shared Library" OFF) |
|
|
OPTION(BUILD_SHARED_LIBS "BUILD Shared Library" OFF) |
|
|
|
|
|
|
|
|
|
|
|
# N2n specific params |
|
|
|
|
|
OPTION(N2N_OPTION_AES "USE AES" ON) |
|
|
|
|
|
|
|
|
if(NOT DEFINED N2N_OPTION_AES) |
|
|
if(NOT DEFINED N2N_OPTION_AES) |
|
|
set(N2N_OPTION_AES ON) |
|
|
set(N2N_OPTION_AES ON) |
|
|
endif(NOT DEFINED N2N_OPTION_AES) |
|
|
endif(NOT DEFINED N2N_OPTION_AES) |
|
|
|
|
|
|
|
|
add_definitions(-DCMAKE_BUILD) |
|
|
|
|
|
add_definitions(-DGIT_RELEASE="" -DPACKAGE_VERSION="${N2N_VERSION}" -DPACKAGE_OSNAME="${CMAKE_SYSTEM}") |
|
|
|
|
|
add_definitions(-DN2N_VERSION="${N2N_VERSION}" -DN2N_OSNAME="${N2N_OSNAME}") |
|
|
|
|
|
|
|
|
|
|
|
if(N2N_OPTION_AES) |
|
|
if(N2N_OPTION_AES) |
|
|
if(NOT DEFINED WIN32) |
|
|
find_package(OpenSSL QUIET) |
|
|
find_package(OpenSSL REQUIRED) |
|
|
if(NOT OPENSSL_FOUND) |
|
|
|
|
|
MESSAGE(WARNING "OpenSSL not found, AES disabled.") |
|
|
|
|
|
set(N2N_OPTION_AES OFF) |
|
|
|
|
|
else() |
|
|
include_directories(${OPENSSL_INCLUDE_DIR}) |
|
|
include_directories(${OPENSSL_INCLUDE_DIR}) |
|
|
endif(NOT DEFINED WIN32) |
|
|
add_definitions(-DN2N_HAVE_AES) |
|
|
add_definitions(-DN2N_HAVE_AES) |
|
|
endif(NOT OPENSSL_FOUND) |
|
|
endif(N2N_OPTION_AES) |
|
|
endif(N2N_OPTION_AES) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(NOT DEFINED CMAKE_BUILD_TYPE) |
|
|
if(NOT DEFINED CMAKE_BUILD_TYPE) |
|
|
set(CMAKE_BUILD_TYPE None) |
|
|
set(CMAKE_BUILD_TYPE None) |
|
|
endif(NOT DEFINED CMAKE_BUILD_TYPE) |
|
|
endif(NOT DEFINED CMAKE_BUILD_TYPE) |
|
@ -61,28 +73,21 @@ set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG") |
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") |
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") |
|
|
endif(DEFINED UNIX) |
|
|
endif(DEFINED UNIX) |
|
|
|
|
|
|
|
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static") |
|
|
#SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## DEBUG FOR CMAKE |
|
|
|
|
|
#message(${N2N_VERSION}) |
|
|
|
|
|
#message(${N2N_OSNAME}) |
|
|
|
|
|
##message(${CMAKE_BUILD_TYPE}) |
|
|
|
|
|
#message(${N2N_OPTION_AES}) |
|
|
|
|
|
## DEBUG FOR CMAKE |
|
|
|
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES(.) |
|
|
INCLUDE_DIRECTORIES(.) |
|
|
INCLUDE_DIRECTORIES(include) |
|
|
INCLUDE_DIRECTORIES(include) |
|
|
if(DEFINED WIN32) |
|
|
if(DEFINED WIN32) |
|
|
INCLUDE_DIRECTORIES(win32) |
|
|
INCLUDE_DIRECTORIES(win32) |
|
|
INCLUDE_DIRECTORIES("D:/Program Files/MinGW/opt/include/" "D:/Program Files/MinGW/x86_64-w64-mingw32/include/") |
|
|
# INCLUDE_DIRECTORIES("D:/Program Files/MinGW/opt/include/" "D:/Program Files/MinGW/x86_64-w64-mingw32/include/") |
|
|
LINK_DIRECTORIES("D:/Program Files/MinGW/opt/lib/" "D:/Program Files/MinGW/x86_64-w64-mingw32/lib/") |
|
|
# LINK_DIRECTORIES("D:/Program Files/MinGW/opt/lib/" "D:/Program Files/MinGW/x86_64-w64-mingw32/lib/") |
|
|
endif(DEFINED WIN32) |
|
|
endif(DEFINED WIN32) |
|
|
|
|
|
|
|
|
# Add SHARED to build DLL |
|
|
|
|
|
#aux_source_directory(./src N2N_DIR_SRCS) |
|
|
#aux_source_directory(./src N2N_DIR_SRCS) |
|
|
#add_library(n2n STATIC ${N2N_DIR_SRCS}) |
|
|
#add_library(n2n STATIC ${N2N_DIR_SRCS}) |
|
|
add_library(n2n |
|
|
add_library(n2n STATIC |
|
|
src/n2n.c |
|
|
src/n2n.c |
|
|
src/edge_utils.c |
|
|
src/edge_utils.c |
|
|
src/sn_utils.c |
|
|
src/sn_utils.c |
|
@ -104,7 +109,6 @@ add_library(n2n |
|
|
src/tuntap_osx.c |
|
|
src/tuntap_osx.c |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(DEFINED WIN32) |
|
|
if(DEFINED WIN32) |
|
|
add_library(edge_utils_win32 src/edge_utils_win32.c) |
|
|
add_library(edge_utils_win32 src/edge_utils_win32.c) |
|
|
add_subdirectory(win32) |
|
|
add_subdirectory(win32) |
|
@ -112,13 +116,11 @@ if(DEFINED WIN32) |
|
|
endif(DEFINED WIN32) |
|
|
endif(DEFINED WIN32) |
|
|
|
|
|
|
|
|
if(N2N_OPTION_AES) |
|
|
if(N2N_OPTION_AES) |
|
|
if(DEFINED WIN32) |
|
|
# target_link_libraries(n2n crypto) |
|
|
target_link_libraries(n2n crypto) |
|
|
target_link_libraries(n2n ${OPENSSL_LIBRARIES}) |
|
|
else() |
|
|
|
|
|
target_link_libraries(n2n ${OPENSSL_LIBRARIES}) |
|
|
|
|
|
endif(DEFINED WIN32) |
|
|
|
|
|
endif(N2N_OPTION_AES) |
|
|
endif(N2N_OPTION_AES) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
add_executable(edge src/edge.c) |
|
|
add_executable(edge src/edge.c) |
|
|
target_link_libraries(edge n2n) |
|
|
target_link_libraries(edge n2n) |
|
|
|
|
|
|
|
@ -150,6 +152,7 @@ install(TARGETS edge supernode |
|
|
ARCHIVE DESTINATION lib |
|
|
ARCHIVE DESTINATION lib |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Tools |
|
|
# Tools |
|
|
add_executable(n2n-benchmark tools/benchmark.c) |
|
|
add_executable(n2n-benchmark tools/benchmark.c) |
|
|
target_link_libraries(n2n-benchmark n2n ${OPENSSL_LIBRARIES}) |
|
|
target_link_libraries(n2n-benchmark n2n ${OPENSSL_LIBRARIES}) |
|
|