将IAR Embedded Workbench项目集合移植到CMake / GCC。
IAR项目使用" preinclude header" (头文件自动包含在项目中的每个源文件中,而不是使用#include语句显式引入 - 不要与预编译头文件混淆)。这些很好地映射到GCC" -include"我可以在我的CMakeList.txt文件中手动实现它,如下所示
set(PREINCLUDE_FILE "${PROJ_BASE_DIR}/some-path/preinclude.h")
...
if (PREINCLUDE_FILE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -include ${PREINCLUDE_FILE}")
endif()
生成一个构建好的makefile。但是,当我使用CMake生成Eclipse项目时,没有考虑preinclude文件。
在我的情况下,preinclude包含几个预处理器定义,可以在编译期间有效地驱动系统其余部分的配置 - 如果没有它们,Eclipse CDT Indexer就无法获得理解代码库所需的所有定义,并且需要额外的手动配置在它做任何有用的事情之前。
有没有办法从CMakeList.txt文件中自动执行任何此操作?