如何设置CmakeList标志

How to set up CmakeList flags

本文关键字:CmakeList 标志 设置 何设置      更新时间:2023-10-16

我是这样编译我的cpp代码的:

g++ -I/usr/local/include/modbus `pkg-config glib-2.0 --cflags --libs` -L/usr/local/lib -lmodbus test-modbus.c -o test-modbus

在GCC中工作得很好。但是我需要把它放到cmakelist。txt中,我试着这样做:

SET(GCC_COVERAGE_COMPILE_FLAGS "-I/usr/local/include/modbus -L/usr/local/lib")
SET(GCC_COVERAGE_LINK_FLAGS    "-lmodbus")
SET( CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}" )
SET( CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}" )

但是没有成功。什么好主意吗?

CMake的目标是平台和编译器独立,所以你不需要设置特定的编译器标志,但你告诉CMake你想做什么。例如,include_directories命令将目录添加到包含路径(类似于gcc的-I选项),target_link_libraries链接一个库(类似于gcc的-l选项),pkg_config可以通过PkgConfig模块调用,等等。