Fix codes for compiling with mbedTLS

Clean up codes. (+6 squashed commit)

Squashed commit:

[4126d9e] Update build scripts

[2ee5027] Update CMake module

[71da951] Update build scripts

[dea8d3f] Update CMake script

[92113ba] Clean up codes and update build script
This commit is contained in:
Tindy X
2020-02-02 23:23:40 +08:00
parent 00976c9eeb
commit c05b7913af
13 changed files with 5255 additions and 85 deletions

View File

@@ -1,6 +1,7 @@
project(subconverter LANGUAGES CXX)
cmake_minimum_required(VERSION 3.4)
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include/")
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release)
ENDIF()
@@ -9,12 +10,13 @@ ADD_DEFINITIONS(-Wall -Wextra -Wno-unused-parameter -Wno-unused-result)
OPTION(USING_STD_REGEX "Use std::regex from C++ library instead of PCRE2." OFF)
OPTION(USING_MALLOC_TRIM "Call malloc_trim after processing request to lower memory usage (Your system must support malloc_trim)." OFF)
OPTION(USING_MBEDTLS "Use mbedTLS instead of OpenSSL for MD5 calculation." OFF)
INCLUDE(CheckCXXSourceCompiles)
CHECK_CXX_SOURCE_COMPILES(
"
#include<string>
int main(){std::to_string(0);return 0;}
void main(){std::to_string(0);}
" HAVE_TO_STRING)
IF(APPLE)
@@ -61,9 +63,16 @@ INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(subconverter ${CURL_LIBRARIES})
ADD_DEFINITIONS(-DCURL_STATICLIB)
FIND_PACKAGE(OpenSSL 1.1.0 REQUIRED)
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(subconverter ${OPENSSL_LIBRARIES})
IF(USING_MBEDTLS STREQUAL "ON")
FIND_PACKAGE(MbedTLS REQUIRED)
INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(subconverter ${MBEDCRYPTO_LIBRARY})
ADD_DEFINITIONS(-DUSE_MBEDTLS)
ELSE()
FIND_PACKAGE(OpenSSL 1.1.0 REQUIRED)
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(subconverter ${OPENSSL_LIBRARIES})
ENDIF()
FIND_PACKAGE(Rapidjson REQUIRED)
INCLUDE_DIRECTORIES(${RAPIDJSON_INCLUDE_DIRS})
@@ -77,13 +86,10 @@ TARGET_LINK_LIBRARIES(subconverter ${YAML_CPP_LIBRARY})
IF(USING_STD_REGEX STREQUAL "ON")
ADD_DEFINITIONS(-DUSE_STD_REGEX)
ELSE()
PKG_CHECK_MODULES(PCRE2 libpcre2-8 REQUIRED)
FIND_PACKAGE(PCRE2 REQUIRED)
INCLUDE_DIRECTORIES(${PCRE2_INCLUDE_DIRS})
TARGET_LINK_LIBRARIES(subconverter ${PCRE2_LIBRARIES})
TARGET_LINK_LIBRARIES(subconverter ${PCRE2_LIBRARY})
ADD_DEFINITIONS(-DPCRE2_STATIC)
FIND_PACKAGE(JPCRE2 REQUIRED)
INCLUDE_DIRECTORIES(${JPCRE2_INCLUDE_DIRS})
ENDIF()
IF(WIN32)