forked from copperbits/TON
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
eb3ad6a
commit a002e7f
Showing
17 changed files
with
5,862 additions
and
0 deletions.
There are no files selected for viewing
66 changes: 66 additions & 0 deletions
66
ton-test-liteclient-full/lite-client-with-webserver/CMake/AddCXXCompilerFlag.cmake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# - Adds a compiler flag if it is supported by the compiler | ||
# | ||
# This function checks that the supplied compiler flag is supported and then | ||
# adds it to the corresponding compiler flags | ||
# | ||
# add_cxx_compiler_flag(<FLAG> [<VARIANT>]) | ||
# | ||
# - Example | ||
# | ||
# include(AddCXXCompilerFlag) | ||
# add_cxx_compiler_flag(-Wall) | ||
# add_cxx_compiler_flag(-no-strict-aliasing RELEASE) | ||
# Requires CMake 2.6+ | ||
|
||
if(__add_cxx_compiler_flag) | ||
return() | ||
endif() | ||
set(__add_cxx_compiler_flag INCLUDED) | ||
|
||
include(CheckCXXCompilerFlag) | ||
|
||
function(mangle_compiler_flag FLAG OUTPUT) | ||
string(TOUPPER "HAVE_CXX_FLAG_${FLAG}" SANITIZED_FLAG) | ||
string(REPLACE "+" "X" SANITIZED_FLAG ${SANITIZED_FLAG}) | ||
string(REGEX REPLACE "[^A-Za-z_0-9]" "_" SANITIZED_FLAG ${SANITIZED_FLAG}) | ||
string(REGEX REPLACE "_+" "_" SANITIZED_FLAG ${SANITIZED_FLAG}) | ||
set(${OUTPUT} "${SANITIZED_FLAG}" PARENT_SCOPE) | ||
endfunction(mangle_compiler_flag) | ||
|
||
function(add_cxx_compiler_flag FLAG) | ||
string(REPLACE "-Wno-" "-W" MAIN_FLAG ${FLAG}) | ||
mangle_compiler_flag("${MAIN_FLAG}" MANGLED_FLAG) | ||
set(OLD_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") | ||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}") | ||
check_cxx_compiler_flag("${MAIN_FLAG}" ${MANGLED_FLAG}) | ||
set(CMAKE_REQUIRED_FLAGS "${OLD_CMAKE_REQUIRED_FLAGS}") | ||
if(${MANGLED_FLAG}) | ||
set(VARIANT ${ARGV1}) | ||
if(ARGV1) | ||
string(TOUPPER "_${VARIANT}" VARIANT) | ||
endif() | ||
set(CMAKE_CXX_FLAGS${VARIANT} "${CMAKE_CXX_FLAGS${VARIANT}} ${FLAG}" PARENT_SCOPE) | ||
endif() | ||
endfunction() | ||
|
||
function(add_required_cxx_compiler_flag FLAG) | ||
string(REPLACE "-Wno-" "-W" MAIN_FLAG ${FLAG}) | ||
mangle_compiler_flag("${MAIN_FLAG}" MANGLED_FLAG) | ||
set(OLD_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") | ||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}") | ||
check_cxx_compiler_flag("${MAIN_FLAG}" ${MANGLED_FLAG}) | ||
set(CMAKE_REQUIRED_FLAGS "${OLD_CMAKE_REQUIRED_FLAGS}") | ||
if(${MANGLED_FLAG}) | ||
set(VARIANT ${ARGV1}) | ||
if(ARGV1) | ||
string(TOUPPER "_${VARIANT}" VARIANT) | ||
endif() | ||
set(CMAKE_CXX_FLAGS${VARIANT} "${CMAKE_CXX_FLAGS${VARIANT}} ${FLAG}" PARENT_SCOPE) | ||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAG}" PARENT_SCOPE) | ||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLAG}" PARENT_SCOPE) | ||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLAG}" PARENT_SCOPE) | ||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}" PARENT_SCOPE) | ||
else() | ||
message(FATAL_ERROR "Required flag '${FLAG}' is not supported by the compiler") | ||
endif() | ||
endfunction() |
38 changes: 38 additions & 0 deletions
38
ton-test-liteclient-full/lite-client-with-webserver/CMake/FindMHD.cmake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# - Try to find MHD | ||
# Once done this will define | ||
# | ||
# MHD_FOUND - system has MHD | ||
# MHD_INCLUDE_DIRS - the MHD include directory | ||
# MHD_LIBRARY - Link these to use MHD | ||
|
||
find_path( | ||
MHD_INCLUDE_DIR | ||
NAMES microhttpd.h | ||
DOC "microhttpd include dir" | ||
) | ||
|
||
find_library( | ||
MHD_LIBRARY | ||
NAMES microhttpd microhttpd-10 libmicrohttpd libmicrohttpd-dll | ||
DOC "microhttpd library" | ||
) | ||
|
||
set(MHD_INCLUDE_DIRS ${MHD_INCLUDE_DIR}) | ||
set(MHD_LIBRARIES ${MHD_LIBRARY}) | ||
|
||
# debug library on windows | ||
# same naming convention as in qt (appending debug library with d) | ||
# boost is using the same "hack" as us with "optimized" and "debug" | ||
# official MHD project actually uses _d suffix | ||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") | ||
find_library( | ||
MHD_LIBRARY_DEBUG | ||
NAMES microhttpd_d microhttpd-10_d libmicrohttpd_d libmicrohttpd-dll_d | ||
DOC "mhd debug library" | ||
) | ||
set(MHD_LIBRARIES optimized ${MHD_LIBRARIES} debug ${MHD_LIBRARY_DEBUG}) | ||
endif() | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(mhd DEFAULT_MSG MHD_INCLUDE_DIR MHD_LIBRARY) | ||
mark_as_advanced(MHD_INCLUDE_DIR MHD_LIBRARY) |
25 changes: 25 additions & 0 deletions
25
ton-test-liteclient-full/lite-client-with-webserver/CMake/FindReadline.cmake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
if (APPLE) | ||
find_path(READLINE_INCLUDE_DIR readline/readline.h /usr/local/opt/readline/include /opt/local/include /opt/include /usr/local/include /usr/include NO_DEFAULT_PATH) | ||
endif() | ||
find_path(READLINE_INCLUDE_DIR readline/readline.h) | ||
|
||
if (APPLE) | ||
find_library(READLINE_LIBRARY readline /usr/local/opt/readline/lib /opt/local/lib /opt/lib /usr/local/lib /usr/lib NO_DEFAULT_PATH) | ||
endif() | ||
find_library(READLINE_LIBRARY readline) | ||
|
||
if (READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NOT GNU_READLINE_FOUND) | ||
set(CMAKE_REQUIRED_INCLUDES "${READLINE_INCLUDE_DIR}") | ||
set(CMAKE_REQUIRED_LIBRARIES "${READLINE_LIBRARY}") | ||
include(CheckCXXSourceCompiles) | ||
unset(GNU_READLINE_FOUND CACHE) | ||
check_cxx_source_compiles("#include <stdio.h>\n#include <readline/readline.h>\nint main() { rl_replace_line(\"\", 0); }" GNU_READLINE_FOUND) | ||
if (NOT GNU_READLINE_FOUND) | ||
unset(READLINE_INCLUDE_DIR CACHE) | ||
unset(READLINE_LIBRARY CACHE) | ||
endif() | ||
endif() | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(Readline DEFAULT_MSG READLINE_INCLUDE_DIR READLINE_LIBRARY) | ||
mark_as_advanced(READLINE_INCLUDE_DIR READLINE_LIBRARY) |
Oops, something went wrong.