我正在尝试为我尝试在 CMake 中编译的可执行文件之一设置多个编译定义(以激活用于调试的宏)。这是我尝试过的:
add_executable (trie_io_test trie_io_test.c trie.c word_list.c)
set_target_properties(
trie_io_test
PROPERTIES
COMPILE_DEFINITIONS UNIT_TESTING=1)
set_target_properties(
trie_io_test
PROPERTIES
COMPILE_DEFINITIONS IO_TEST=1)
不幸的是,这只会导致 IO_TEST 被定义。
我还尝试了以下方法:
add_executable (trie_io_test trie_io_test.c trie.c word_list.c)
set_target_properties(
trie_io_test
PROPERTIES
COMPILE_DEFINITIONS UNIT_TESTING=1 IO_TEST=1)
但是,另一方面,这会导致 CMake 错误。
如何为我尝试构建的可执行文件设置这两个定义?
最佳答案
您要 target_compile_definitions
而不是 set_target_properties
:
target_compile_definitions(trie_io_test PRIVATE UNIT_TESTING=1 IO_TEST=1)
关于CMake - 如何为目标可执行文件设置多个编译定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30546677/