From 65bd9a7aa90a6d9ce728771b0954fba8665a3f5b Mon Sep 17 00:00:00 2001 From: zhaohe Date: Sat, 12 Aug 2023 22:38:50 +0800 Subject: [PATCH] init --- .gitignore | 8 ++++++ CMakeLists.txt | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 0 build.sh | 0 cmakelib/.mark | 0 deplib/.mark | 0 iflytoplinux/.mark | 0 init.sh | 0 packet.sh | 0 project_config.env | 0 src/.mark | 0 toolchain/.mark | 0 12 files changed, 79 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 README.md create mode 100644 build.sh create mode 100644 cmakelib/.mark create mode 100644 deplib/.mark create mode 100644 iflytoplinux/.mark create mode 100644 init.sh create mode 100644 packet.sh create mode 100644 project_config.env create mode 100644 src/.mark create mode 100644 toolchain/.mark diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..117f8bc --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +build +lib +out +.cache +./libs +libs/ +buildpc +buildhost \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..142d50a --- /dev/null +++ b/CMakeLists.txt @@ -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() diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..e69de29 diff --git a/cmakelib/.mark b/cmakelib/.mark new file mode 100644 index 0000000..e69de29 diff --git a/deplib/.mark b/deplib/.mark new file mode 100644 index 0000000..e69de29 diff --git a/iflytoplinux/.mark b/iflytoplinux/.mark new file mode 100644 index 0000000..e69de29 diff --git a/init.sh b/init.sh new file mode 100644 index 0000000..e69de29 diff --git a/packet.sh b/packet.sh new file mode 100644 index 0000000..e69de29 diff --git a/project_config.env b/project_config.env new file mode 100644 index 0000000..e69de29 diff --git a/src/.mark b/src/.mark new file mode 100644 index 0000000..e69de29 diff --git a/toolchain/.mark b/toolchain/.mark new file mode 100644 index 0000000..e69de29