wordpress主题 网站大全,国外手机模板网站推荐,wordpress 汽车 模板,深圳网站制作 公司cmaklist流程控制
目前只会配置-编译调试-打包发布#xff0c;并且不会workflow控制 后续学习配置-编译调试-测试-打包发布#xff0c;workflow控制#xff0c;理解整个流程#xff0c;目前对流程控制理解也不够。
1.CMake Presets
先于Cmakelist文件#xff0c;指导项…cmaklist流程控制
目前只会配置-编译调试-打包发布并且不会workflow控制 后续学习配置-编译调试-测试-打包发布workflow控制理解整个流程目前对流程控制理解也不够。
1.CMake Presets
先于Cmakelist文件指导项目配置。 参考CMake之Presets编写 **CMAKE_BUILD_TYPE**指定了编译类型debug还是release **CMAKE_INSTALL_PREFIX**指定了cmakelist中install的前缀路径类似于cmake -CMAKE_INSTALL_PREFIX CMakePresets.json
{version: 8,configurePresets: [{name: radar-debug,displayName: radar-debug,description: radar-debug,generator: Unix Makefiles,binaryDir: ${sourceDir}/out/debug/build,cacheVariables: {CMAKE_BUILD_TYPE: Debug,CMAKE_INSTALL_PREFIX: ${sourceDir}/out/debug/install}},{name: radar-release,displayName: radar-release,description: radar-release,generator: Unix Makefiles,binaryDir: ${sourceDir}/out/release/build,cacheVariables: {CMAKE_BUILD_TYPE: Release,CMAKE_INSTALL_PREFIX: ${sourceDir}/out/release/install}}]
}2.Cmakelist
通过Presets配置的CMAKE_BUILD_TYPE 控制编译配合add_definitions(-DDEBUG_PRINTF)控制程序表现
cmake_minimum_required(VERSION 3.5.0)
project(radarSerial VERSION 0.1.0 LANGUAGES C CXX)# Set the default build type to Release if not specified
if(NOT CMAKE_BUILD_TYPE)set(CMAKE_BUILD_TYPE Release CACHE STRING Build type FORCE)
endif()# Configure Debug and Release flags
set(CMAKE_CXX_FLAGS_DEBUG -g -O0) # Debug信息关闭优化
set(CMAKE_CXX_FLAGS_RELEASE -O3) # 高级优化if(CMAKE_BUILD_TYPE STREQUAL Debug)add_definitions(-DDEBUG_PRINTF)add_definitions(-DDEBUG_ENV)
endif()find_package(MY_LIBRARY_PATH NAMES CppLinuxSerial PATHS ${CMAKE_CURRENT_SOURCE_DIR}/lib/cmake NO_DEFAULT_PATH REQUIRED)set(LIB_mqtt3c_PATH /usr/local/lib/)message(STATUS CppLinuxSerial_DIR ${CppLinuxSerial_DIR})add_executable(radarSerial main.cpp)target_include_directories(radarSerial PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include${CMAKE_CURRENT_SOURCE_DIR}/include/CppLinuxSerial
)target_sources(radarSerialPRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/comm.cpp${CMAKE_CURRENT_SOURCE_DIR}/src/mqtt.cpp${CMAKE_CURRENT_SOURCE_DIR}/src/cJSON.c)target_link_libraries(radarSerial CppLinuxSerial::CppLinuxSerial pthread paho-mqtt3c)install(TARGETS radarSerial RUNTIME DESTINATION bin)
install(FILES
${LIB_mqtt3c_PATH}/libpaho-mqtt3c.so
${LIB_mqtt3c_PATH}/libpaho-mqtt3c.so.1
${LIB_mqtt3c_PATH}/libpaho-mqtt3c.so.1.3
${CMAKE_CURRENT_SOURCE_DIR}/lib/libCppLinuxSerial.soDESTINATION lib)