|
@ -0,0 +1,71 @@ |
|
|
|
|
|
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) |
|
|
|
|
|
include(zcmake/zcmake.cmake) |
|
|
|
|
|
project(app) |
|
|
|
|
|
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/) |
|
|
|
|
|
# 设置ccache加速C++编译速度 |
|
|
|
|
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) |
|
|
|
|
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) |
|
|
|
|
|
|
|
|
|
|
|
# 设置通用编译选项 |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-format-overflow") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-local-typedefs") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-but-set-variable") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-deprecated-declarations") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Werror=return-type") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Werror=parentheses") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wfatal-errors") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-result") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-comment") |
|
|
|
|
|
|
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -O1") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -g3") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -fPIC") |
|
|
|
|
|
set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wall") |
|
|
|
|
|
|
|
|
|
|
|
# 设置C编译选项 |
|
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_CPP_FLAGS}") |
|
|
|
|
|
|
|
|
|
|
|
# 设置CPP编译选项 |
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${C_CPP_FLAGS}") |
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-pessimizing-move") |
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-reorder") |
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") |
|
|
|
|
|
|
|
|
|
|
|
message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") |
|
|
|
|
|
message("PROJECT_NAME: ${PROJECT_NAME}") |
|
|
|
|
|
|
|
|
|
|
|
# 添加相应的依赖代码 |
|
|
|
|
|
|
|
|
|
|
|
zadd_public(DEFINES ${DEP_DEFINE}) |
|
|
|
|
|
zadd_public(SRC ${DEP_SRC}) |
|
|
|
|
|
# 设置当前工程依赖的头文件路径和链接的库文件 |
|
|
|
|
|
# 如何 BUILD_ON_HOST == true, 则include cmakepc.cmake |
|
|
|
|
|
if(BUILD_ON_HOST) |
|
|
|
|
|
# |
|
|
|
|
|
# 编译PC版本的相关测试代码,具体使用参考README.md |
|
|
|
|
|
# |
|
|
|
|
|
message("IFLYBUILD_HOST_PUBLIC_INCLUDE_DIRECTORIES: ${IFLYBUILD_HOST_PUBLIC_INCLUDE_DIRECTORIES}") |
|
|
|
|
|
zadd_public(INCLUDE_DIRECTORIES ${IFLYBUILD_HOST_PUBLIC_INCLUDE_DIRECTORIES}) |
|
|
|
|
|
zadd_public(LINK_DIRECTORIES ${IFLYBUILD_HOST_PUBLIC_LINK_DIRECTORIES}) |
|
|
|
|
|
zadd_public(LINK_LIBRARIES ${IFLYBUILD_HOST_PUBLIC_LINK_LIBS}) |
|
|
|
|
|
zadd_public(LINK_LIBRARIES pthread m) |
|
|
|
|
|
include(./.project/cmake/host.cmake) |
|
|
|
|
|
return() |
|
|
|
|
|
else() |
|
|
|
|
|
# |
|
|
|
|
|
# 编译嵌入式版本的相关代码,具体使用参考README.md |
|
|
|
|
|
# |
|
|
|
|
|
zadd_public(INCLUDE_DIRECTORIES |
|
|
|
|
|
${IFLYBUILD_TARGET_PUBLIC_INCLUDE_DIRECTORIES}) |
|
|
|
|
|
zadd_public(LINK_DIRECTORIES ${IFLYBUILD_TARGET_PUBLIC_LINK_DIRECTORIES}) |
|
|
|
|
|
zadd_public(LINK_LIBRARIES ${IFLYBUILD_TARGET_PUBLIC_LINK_LIBS}) |
|
|
|
|
|
zadd_public(LINK_LIBRARIES pthread m) |
|
|
|
|
|
include(./.project/cmake/target.cmake) |
|
|
|
|
|
return() |
|
|
|
|
|
endif() |