- 修复WebSocket推送无背压导致mongoose发送缓冲无限增长的内存泄露 - 为SystemData增加互斥锁,消除pushSystemData与主线程的数据竞争 - 修复网页状态文本判断反转、漏水告警阈值、FC状态、H2单位等显示bug - 按协议修正电池紧急状态枚举解码(0x3A-0x3D为1-4级报警) - 调整CMake适配系统安装的MOOS/IvP及jsoncpp,删除ARM专用build_debug.sh
99 lines
3.8 KiB
CMake
99 lines
3.8 KiB
CMake
#=======================================================================
|
||
# FILE: moos-ivp-extend/CMakeLists.txt
|
||
# DATE: 2012/07/24
|
||
# INFO: Top-level CMakeLists.txt file for the moos-ivp-extend project
|
||
# NAME: Maintained by Mike Benjamin - Original setup by Christian Convey
|
||
# Chris Gagner, and tips borrowed from Dave Billin
|
||
#=======================================================================
|
||
|
||
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
|
||
PROJECT( IVP_EXTEND )
|
||
|
||
set (CMAKE_CXX_STANDARD 11)
|
||
|
||
#=======================================================================
|
||
# IvP 库安装前缀(MOOS 与 IvP 均安装于系统 /usr/local)
|
||
#=======================================================================
|
||
set (IVP_PREFIX "/usr/local")
|
||
|
||
# jsoncpp 头文件目录(Ubuntu 布局:/usr/include/jsoncpp/json/)
|
||
INCLUDE_DIRECTORIES(/usr/include/jsoncpp)
|
||
|
||
#=======================================================================
|
||
# Set the output directories for the binary and library files
|
||
#=======================================================================
|
||
|
||
GET_FILENAME_COMPONENT(IVP_EXTEND_BIN_DIR "${CMAKE_SOURCE_DIR}/bin" ABSOLUTE )
|
||
GET_FILENAME_COMPONENT(IVP_EXTEND_LIB_DIR "${CMAKE_SOURCE_DIR}/lib" ABSOLUTE )
|
||
|
||
SET( LIBRARY_OUTPUT_PATH "${IVP_EXTEND_LIB_DIR}" CACHE PATH "" )
|
||
SET( ARCHIVE_OUTPUT_DIRECTORY "${IVP_EXTEND_LIB_DIR}" CACHE PATH "" )
|
||
SET( LIBRARY_OUTPUT_DIRECTORY "${IVP_EXTEND_LIB_DIR}" CACHE PATH "" )
|
||
|
||
SET( EXECUTABLE_OUTPUT_PATH "${IVP_EXTEND_BIN_DIR}" CACHE PATH "" )
|
||
SET( RUNTIME_OUTPUT_DIRECTORY "${IVP_EXTEND_BIN_DIR}" CACHE PATH "" )
|
||
|
||
#=======================================================================
|
||
# Find MOOS
|
||
#=======================================================================
|
||
find_package(MOOS 10.0)
|
||
INCLUDE_DIRECTORIES(${MOOS_INCLUDE_DIRS})
|
||
|
||
#=======================================================================
|
||
# Find the "moos-ivp" base directory
|
||
#=======================================================================
|
||
|
||
# IvP 头文件与库从系统安装前缀加载
|
||
INCLUDE_DIRECTORIES(${IVP_PREFIX}/include/ivp)
|
||
|
||
FILE(GLOB IVP_INCLUDE_DIRS ${IVP_PREFIX}/include/ivp )
|
||
INCLUDE_DIRECTORIES(${IVP_INCLUDE_DIRS})
|
||
|
||
FILE(GLOB IVP_LIBRARY_DIRS ${IVP_PREFIX}/lib )
|
||
LINK_DIRECTORIES(${IVP_LIBRARY_DIRS})
|
||
|
||
#======================================================================
|
||
# Specify Compiler Flags
|
||
#======================================================================
|
||
IF( ${WIN32} )
|
||
#---------------------------------------------
|
||
# Windows Compiler Flags
|
||
#---------------------------------------------
|
||
IF(MSVC)
|
||
# Flags for Microsoft Visual Studio
|
||
SET( WALL_ON OFF CACHE BOOL
|
||
"tell me about all compiler warnings (-Wall) ")
|
||
IF(WALL_ON)
|
||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||
ENDIF(WALL_ON)
|
||
ELSE(MSVC)
|
||
# Other Windows compilers go here
|
||
ENDIF(MSVC)
|
||
|
||
ELSE( ${WIN32} )
|
||
#---------------------------------------------
|
||
# Linux and Apple Compiler Flags
|
||
#---------------------------------------------
|
||
# Force -fPIC because gcc complains when we don't use it with x86_64 code.
|
||
# Note sure why: -fPIC should only be needed for shared objects, and
|
||
# AFAIK, CMake gets that right when building shared objects. -CJC
|
||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -g -Wdeprecated-declarations")
|
||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||
# Flags for the GNU C++ Compiler
|
||
SET( WALL_ON OFF CACHE BOOL
|
||
"tell me about all compiler warnings (-Wall) ")
|
||
IF(WALL_ON)
|
||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" -C++11)
|
||
ENDIF( WALL_ON)
|
||
ELSE(CMAKE_COMPILER_IS_GNUCXX)
|
||
|
||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||
|
||
ENDIF( ${WIN32} )
|
||
|
||
#=======================================================================
|
||
# Add Subdirectories
|
||
#=======================================================================
|
||
ADD_SUBDIRECTORY( src )
|
||
ADD_SUBDIRECTORY( test )
|