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++17") message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") message("PROJECT_NAME: ${PROJECT_NAME}") message("ARCH: ${ARCH}") file( GLOB_RECURSE APP_SRC # appsrc/*.cpp # appsrc/*.c # appsrc/*.hpp # appsrc/*.h # appdep/*.cpp # appdep/*.c # appdep/*.hpp # appdep/*.h # app_protocols/*.cpp # app_protocols/*.c # app_protocols/*.hpp # app_protocols/*.h # ) zadd_executable( TARGET app.out # # INSTALL PATH # INSTALL ./app/ # # SRC # SRC ${APP_SRC} # # INCLUDE_DIRECTORIES # INCLUDE_DIRECTORIES appdep/iflytop/core/spdlog/include appsrc/ appdep/ app_protocols/ ./ appdep/libs/libixwebsocket/include # # LINK_LIBRARIES # LINK_LIBRARIES pthread ixwebsocket z sqlite3 # # LINK_DIRECTORIES # LINK_DIRECTORIES # appdep/libs/libixwebsocket/${ARCH}/ appdep/libs/libhpdf/${ARCH}/) zadd_executable( TARGET zcsv_test.out # SRC SRC ./test/zcsv_test.cpp appdep/iflytop/core/components/zcsv/zcsv.cpp # INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES appdep/) # # testpdf # zadd_executable( TARGET testpdf.out SRC ./test/testpdf.cpp INCLUDE_DIRECTORIES appdep/libs/libhpdf/include LINK_LIBRARIES hpdf z LINK_DIRECTORIES appdep/libs/libhpdf/${ARCH}/)