如何在cmake中为DEBUG构建设置GLIBCXX_FORCE_NEW = 1?

kfm*_*e04 2 gcc cmake

我需要在cmake中为DEBUG构建设置环境变量GLIBCXX_FORCE_NEW = 1.

在cmake文档中,我只能找到:

  • CMAKE_CXX_COMPILER

  • CMAKE_CXX_FLAGS

  • CMAKE_CXX_FLAGS_DEBUG

  • CMAKE_CXX_FLAGS_RELEASE

  • CMAKE_CXX_FLAGS_RELWITHDEBINFO

sak*_*kra 5

环境变量GLIBCXX_FORCE_NEW仅影响运行时编译程序的行为(请参阅gcc文档).在程序的编译期间(例如,通过设置CMAKE_CXX_FLAGS)将其添加为预处理器定义将不起作用.

使用CMake,您可以设置一个环境变量,该变量仅影响CMake测试的构建目标的运行时.以下命令添加对DEBUG构建有效的测试,该测试将运行带有GLIBCXX_FORCE_NEW变量set 的可执行文件:

add_test(NAME MyTest CONFIGURATIONS Debug COMMAND MyExecutable)
set_tests_properties(MyTest PROPERTIES ENVIRONMENT "GLIBCXX_FORCE_NEW=1")
Run Code Online (Sandbox Code Playgroud)