关于cmake的target_compile_definitions函数

今天用cmake构建一个工程,因为引用外部库的原因,需要定义一个宏,否则没法使用那些函数,于是:

target_compile_definitions(${PROJECT_NAME} PRIVATE P2P_API)

但是发现并没有什么用,反而语法报错,表示说P2P_API这个宏被定义为了1,于是尝试了:

target_compile_definitions(${PROJECT_NAME} PRIVATE P2P_API=)

果然好转,由此观之,普通的不加等于号的定义会默认定义为1,而如果有需要将某个宏定义为特殊的值的时候,包括空值,需要使用等于号,在cmake中。

你可能感兴趣的:(cmake)