mirror of
http://180.163.74.83:13000/zhangzhenghao/AP05.git
synced 2025-12-13 15:24:29 +00:00
141 lines
4.5 KiB
CMake
141 lines
4.5 KiB
CMake
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
|
PROJECT (TX_PROJECT)
|
|
|
|
SET(CMAKE_SYSTEM_NAME Linux)
|
|
#SET(CMAKE_C_COMPILER arm-linux-gcc)
|
|
#SET(CMAKE_CXX_COMPILER arm-linux-g++)
|
|
|
|
SET(CMAKE_C_FLAGS "-std=gnu99")
|
|
#add_definitions(-D _GNU_SOURCE)
|
|
#SET(CMAKE_C_FLAGS "-g")
|
|
|
|
AUX_SOURCE_DIRECTORY(uart_utils DIR_SRC_UART_UTILS)
|
|
AUX_SOURCE_DIRECTORY(uart_can DIR_SRC_UART_CAN)
|
|
AUX_SOURCE_DIRECTORY(queue DIR_SRC_QUEUE)
|
|
AUX_SOURCE_DIRECTORY(cmd DIR_SRC_COMMAND)
|
|
AUX_SOURCE_DIRECTORY(sqlite_utils DIR_SRC_SQLITE_UTILS)
|
|
AUX_SOURCE_DIRECTORY(mqtt_utils DIR_SRC_MQTT_UTILS)
|
|
AUX_SOURCE_DIRECTORY(md5sum DIR_SRC_MD5SUM)
|
|
AUX_SOURCE_DIRECTORY(json-c DIR_SRC_JSONC)
|
|
AUX_SOURCE_DIRECTORY(json_utils DIR_SRC_JSON_UTILS)
|
|
AUX_SOURCE_DIRECTORY(escape_unescape DIR_SRC_ESCAPE_UNESCAPE)
|
|
AUX_SOURCE_DIRECTORY(net_utils DIR_SRC_NET_UTILS)
|
|
AUX_SOURCE_DIRECTORY(debug_print DIR_SRC_DEBUG_PRINT)
|
|
|
|
|
|
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
|
|
SET(MQTT_SRC_PATH ${CMAKE_CURRENT_LIST_DIR}/mqtt)
|
|
|
|
IF (PAHO_WITH_SSL)
|
|
SET(OPENSSL_SEARCH_PATH "./openssl" CACHE PATH "Directory containing OpenSSL libraries and includes")
|
|
|
|
IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
|
SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl")
|
|
ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
|
|
|
|
IF (WIN32)
|
|
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64")
|
|
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64")
|
|
IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT})
|
|
IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86")
|
|
SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32")
|
|
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib32")
|
|
ENDIF ()
|
|
ENDIF ()
|
|
ELSE()
|
|
SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib")
|
|
ENDIF ()
|
|
|
|
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
|
|
HINTS ${OPENSSL_SEARCH_PATH}/include)
|
|
FIND_LIBRARY(OPENSSL_LIB NAMES ssl libssl ssleay32
|
|
HINTS ${OPENSSL_SEARCH_PATH}/lib ${OPENSSL_SEARCH_LIB_PATH})
|
|
FIND_LIBRARY(OPENSSLCRYPTO_LIB NAMES crypto libcrypto libeay32
|
|
HINTS ${OPENSSL_SEARCH_PATH}/lib ${OPENSSL_SEARCH_LIB_PATH})
|
|
|
|
MESSAGE(STATUS "OpenSSL hints: ${OPENSSL_SEARCH_PATH}")
|
|
MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}")
|
|
MESSAGE(STATUS "OpenSSL library found at ${OPENSSL_LIB}")
|
|
MESSAGE(STATUS "OpenSSL Crypto library found at ${OPENSSLCRYPTO_LIB}")
|
|
|
|
# INCLUDE_DIRECTORIES(
|
|
# ${OPENSSL_INCLUDE_DIR}
|
|
# )
|
|
add_definitions(-DOPENSSL=1)
|
|
ENDIF()
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
${CMAKE_CURRENT_LIST_DIR}/
|
|
${CMAKE_BINARY_DIR}/
|
|
${MQTT_SRC_PATH}/
|
|
${OPENSSL_INCLUDE_DIR}/
|
|
${CMAKE_CURRENT_LIST_DIR}/uart_utils
|
|
${CMAKE_CURRENT_LIST_DIR}/uart_can
|
|
${CMAKE_CURRENT_LIST_DIR}/queue
|
|
${CMAKE_CURRENT_LIST_DIR}/cmd
|
|
${CMAKE_CURRENT_LIST_DIR}/mqtt_utils
|
|
${CMAKE_CURRENT_LIST_DIR}/md5sum
|
|
${CMAKE_CURRENT_LIST_DIR}/json-c
|
|
${CMAKE_CURRENT_LIST_DIR}/json_utils
|
|
${CMAKE_CURRENT_LIST_DIR}/escape_unescape
|
|
${CMAKE_CURRENT_LIST_DIR}/net_utils
|
|
${CMAKE_CURRENT_LIST_DIR}/debug_print
|
|
${CMAKE_CURRENT_LIST_DIR}/openssl
|
|
)
|
|
|
|
SET(MQTT_COMMON_SRC
|
|
${MQTT_SRC_PATH}/MQTTProtocolClient.c
|
|
${MQTT_SRC_PATH}/Clients.c
|
|
${MQTT_SRC_PATH}/utf-8.c
|
|
${MQTT_SRC_PATH}/StackTrace.c
|
|
${MQTT_SRC_PATH}/MQTTPacket.c
|
|
${MQTT_SRC_PATH}/MQTTPacketOut.c
|
|
${MQTT_SRC_PATH}/Messages.c
|
|
${MQTT_SRC_PATH}/Tree.c
|
|
${MQTT_SRC_PATH}/Socket.c
|
|
${MQTT_SRC_PATH}/Log.c
|
|
${MQTT_SRC_PATH}/MQTTPersistence.c
|
|
${MQTT_SRC_PATH}/Thread.c
|
|
${MQTT_SRC_PATH}/MQTTProtocolOut.c
|
|
${MQTT_SRC_PATH}/MQTTPersistenceDefault.c
|
|
${MQTT_SRC_PATH}/SocketBuffer.c
|
|
${MQTT_SRC_PATH}/Heap.c
|
|
${MQTT_SRC_PATH}/LinkedList.c
|
|
${MQTT_SRC_PATH}/MQTTProperties.c
|
|
${MQTT_SRC_PATH}/MQTTReasonCodes.c
|
|
${MQTT_SRC_PATH}/Base64.c
|
|
${MQTT_SRC_PATH}/Hmacsha1.c
|
|
${MQTT_SRC_PATH}/SHA1.c
|
|
${MQTT_SRC_PATH}/WebSocket.c
|
|
)
|
|
|
|
SET(MQTT_MQTTAsync_SRC
|
|
${MQTT_SRC_PATH}/MQTTAsync.c
|
|
${MQTT_SRC_PATH}/SSLSocket.c
|
|
)
|
|
|
|
|
|
SET(SRC_TX_SERVER
|
|
${DIR_SRC_UART_UTILS}
|
|
${DIR_SRC_COMMAND}
|
|
${DIR_SRC_QUEUE}
|
|
${DIR_SRC_UART_CAN}
|
|
${DIR_SRC_SQLITE_UTILS}
|
|
${MQTT_COMMON_SRC}
|
|
${MQTT_MQTTAsync_SRC}
|
|
${DIR_SRC_MQTT_UTILS}
|
|
${DIR_SRC_MD5SUM}
|
|
${DIR_SRC_JSONC}
|
|
${DIR_SRC_JSON_UTILS}
|
|
${DIR_SRC_ESCAPE_UNESCAPE}
|
|
${DIR_SRC_NET_UTILS}
|
|
${DIR_SRC_DEBUG_PRINT}
|
|
${CMAKE_CURRENT_LIST_DIR}/main.c
|
|
)
|
|
|
|
ADD_EXECUTABLE(jd_server ${SRC_TX_SERVER})
|
|
|
|
TARGET_LINK_LIBRARIES(jd_server pthread dl "-L${CMAKE_CURRENT_LIST_DIR}/openssl/lib" "-lssl" "-lcrypto")
|
|
|
|
|