You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

91 lines
2.5 KiB

cmake_minimum_required(VERSION 3.13)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set(CMAKE_INSTALL_PREFIX "./")
include(zcmake/zcmake.cmake)
project(app)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
# 设置通用编译选项
set(C_CPP_FLAGS "${C_CPP_FLAGS} ")
set(C_CPP_FLAGS
"${C_CPP_FLAGS} -Wno-unused-local-typedefs -Wno-unused-but-set-variable -Wno-deprecated-declarations -Wno-unused-variable"
)
set(C_CPP_FLAGS
"${C_CPP_FLAGS} -Wno-unused-local-typedefs -Wno-unused-but-set-variable -Wno-deprecated-declarations -Wno-unused-variable"
)
set(C_CPP_FLAGS
"${C_CPP_FLAGS} -Werror=return-type -Werror=parentheses -Wfatal-errors -Wno-comment"
)
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-format-overflow")
set(C_CPP_FLAGS "${C_CPP_FLAGS} -O0 -g3 -fPIC -Wall")
# 设置C编译选项
set(CMAKE_C_FLAGS "${C_CPP_FLAGS}")
message("CMAKE_C_FLAGS : ${CMAKE_C_FLAGS}")
# 设置CPP编译选项
set(CMAKE_CXX_FLAGS "${C_CPP_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-pessimizing-move -Wno-reorder")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
message("PROJECT_NAME: ${PROJECT_NAME}")
set(DEP_INCLUDE ${DEP_INCLUDE} ./dep/)
include(dep/iflytopcpp/module.cmake)
include(dep/asio1.12.2/module.cmake)
include(dep/websocketpp/module.cmake)
include(dep/zservice_container/module.cmake)
include(dep/zwebservice/module.cmake)
include(dep/zlinuxcomponents/module.cmake)
function(zadd_executable_simple)
set(oneValueArgs NAME TARGET)
set(multiValueArgs SRC)
cmake_parse_arguments(VAR "${options}" "${oneValueArgs}" "${multiValueArgs}"
${ARGN})
zadd_executable(
TARGET
${VAR_TARGET}
INSTALL
./app
LINK_LIBRARIES
asound
pthread
INCLUDE_DIRECTORIES
${DEP_INCLUDE}
./src
DEFINES
${DEP_DEFINE}
SRC
${DEP_SRC}
${VAR_SRC})
endfunction(zadd_executable_simple)
zadd_executable_simple(
# TARGET
TARGET
app.out
# SRC
SRC
src/main.cpp
src/service/device_io_service.cpp
src/service/device_io_service_mock.cpp
src/service/main_control_service.cpp
src/service/light_control_service.cpp
src/service/report_service.cpp)
zadd_executable_simple(
# TARGET
TARGET #
audio_recorder.out
# SRC
SRC
src/audio_recorder.cpp)