从cc命令行转换为CMakeLists.txt

从cc命令行转换为CMakeLists.txt,c,gcc,makefile,cmake,clion,C,Gcc,Makefile,Cmake,Clion,我想在我的项目中使用cmake,但我必须以以下方式定义预处理器宏: #if defined CONFIG_TEXTUI void BoardView_init (void) { } void BoardView_free (void) { } void BoardView_displayAll (void) { } void BoardView_displaySquare (Coordinate x, Coordinate y, PieceType kindOfPiece) {

我想在我的项目中使用cmake,但我必须以以下方式定义预处理器宏:

#if defined CONFIG_TEXTUI

void BoardView_init (void)
{
}

void BoardView_free (void)
{
}

void BoardView_displayAll (void)
{

}

void BoardView_displaySquare (Coordinate x, Coordinate y, PieceType kindOfPiece)
{
    BoardView_displayAll();
}

void BoardView_displayEndOfGame (GameResult result)
{
  // TODO: à compléter
}

void BoardView_displayPlayersTurn (PieceType thisPlayer)
{
  // TODO: à compléter
}

void BoardView_sayCannotPutPiece (void)
{
  // TODO: à compléter
}

#endif // defined CONFIG_TEXTUI
问题是,文件编译时使用以下内容:
gcc-std=c99-DCONFIG\u TEXTUI-DCONFIG\u PLAYER\u MANAGER\u MOCK-o etape1 main.c board.c game.c board\u view\u text.c tictactoe\u erros.c PLAYER\u MANAGER\u MOCK.c

如何在cmake(-DCONFIG\u TEXTUI)中指定这些选项

这是我的实际CMakeLists.txt:

cmake_minimum_required(VERSION 3.15)
project(morpion C)

set(CMAKE_C_STANDARD 99)

add_executable(morpion main.c game.c board.c player_manager_mock.c board_view_text.c tictactoe_erros.c test_checkEndOfGame.c)

set_property(GLOBAL PROPERTY DCONFIG_TEXTUI)
set_property(GLOBAL PROPERTY DCONFIG_PLAYER_MANAGER_MOCK)

预处理器宏是用
添加\u编译\u定义()
定义的:

在您的情况下,您需要:

add_compile_definitions(CONFIG_TEXTUI CONFIG_PLAYER_MANAGER_MOCK)

预处理器宏是用
添加\u编译\u定义()
定义的:

在您的情况下,您需要:

add_compile_definitions(CONFIG_TEXTUI CONFIG_PLAYER_MANAGER_MOCK)

谢谢,我不知道他们是这样叫的,我在找这个词!用谷歌搜索你无法命名的东西总是很难,对吗?;-)我知道你的意思#法语团队谢谢我不知道他们这样叫我在找这个词!用谷歌搜索你无法命名的东西总是很难,对吗?;-)我知道你的意思,法国队