diff --git a/CMakeLists.txt b/CMakeLists.txt index 75a89c41..1e52f969 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -290,8 +290,9 @@ if (MSVC) endif() if (NOT MSVC) add_cxx_compiler_flag("-Wall") + add_cxx_compiler_flag("-Wextra") endif() -add_cxx_compiler_flag("-Wextra") + add_cxx_compiler_flag("-Wimplicit-fallthrough=2") add_cxx_compiler_flag("-Wpointer-arith") add_cxx_compiler_flag("-Wcast-qual") diff --git a/README.md b/README.md index 177bc3ee..e15f5bb6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![TON Overflow Group][ton-overflow-badge]][ton-overflow-url] [![Stack Overflow Group][stack-overflow-badge]][stack-overflow-url] [![Telegram Foundation Group][telegram-foundation-badge]][telegram-foundation-url] [![Telegram Community Group][telegram-community-badge]][telegram-community-url] @@ -11,6 +12,8 @@ [twitter-url]: https://twitter.com/ton_blockchain [stack-overflow-badge]: https://img.shields.io/badge/-Stack%20Overflow-FE7A16?style=flat&logo=stack-overflow&logoColor=white [stack-overflow-url]: https://stackoverflow.com/questions/tagged/ton +[ton-overflow-badge]: https://img.shields.io/badge/-TON%20Overflow-FE7A16?style=flat&logo=stack-overflow&logoColor=white +[ton-overflow-url]: https://answers.ton.org diff --git a/example/android/CMakeLists.txt b/example/android/CMakeLists.txt index 06454852..55eda220 100644 --- a/example/android/CMakeLists.txt +++ b/example/android/CMakeLists.txt @@ -7,8 +7,14 @@ cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR) option(TONLIB_ENABLE_JNI "Enable JNI-compatible TonLib API" ON) -string(APPEND CMAKE_CXX_FLAGS " -std=c++14 -Wall -Wextra -Wno-unused-parameter -Wno-deprecated-declarations -Wconversion -Wno-sign-conversion -fno-omit-frame-pointer -ffunction-sections -fdata-sections") -string(APPEND CMAKE_SHARED_LINKER_FLAGS " -Wl,--gc-sections -Wl,--exclude-libs,ALL") +if (${CMAKE_SYSTEM_NAME} MATCHES "Windows") + string(APPEND CMAKE_CXX_FLAGS " -std=c++14 -fno-omit-frame-pointer -ffunction-sections -fdata-sections") +else() + string(APPEND CMAKE_CXX_FLAGS " -std=c++14 -Wall -Wextra -Wno-unused-parameter -Wno-deprecated-declarations -Wconversion -Wno-sign-conversion -fno-omit-frame-pointer -ffunction-sections -fdata-sections") +endif() +if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + string(APPEND CMAKE_SHARED_LINKER_FLAGS " -Wl,--gc-sections -Wl,--exclude-libs,ALL") +endif() # Creates and names a library, sets it as either STATIC # or SHARED, and provides the relative paths to its source code. @@ -37,9 +43,15 @@ target_link_libraries(native-lib tonlib) set(TONLIB_API_JAVA_PACKAGE "drinkless/org/ton") target_compile_definitions(native-lib PRIVATE PACKAGE_NAME="${TONLIB_API_JAVA_PACKAGE}") -add_custom_command(TARGET native-lib POST_BUILD - COMMAND ${CMAKE_COMMAND} -E rename $ $.debug - COMMAND ${CMAKE_STRIP} --strip-debug --strip-unneeded $.debug -o $) +if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + add_custom_command(TARGET native-lib POST_BUILD + COMMAND ${CMAKE_COMMAND} -E rename $ $.debug + COMMAND ${CMAKE_STRIP} -S $.debug -o $) +elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + add_custom_command(TARGET native-lib POST_BUILD + COMMAND ${CMAKE_COMMAND} -E rename $ $.debug + COMMAND ${CMAKE_STRIP} --strip-debug --strip-unneeded $.debug -o $) +endif() if (NOT CMAKE_CROSSCOMPILING) set(TONLIB_API_JAVA_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src/)