【发布时间】:2015-12-03 09:33:13
【问题描述】:
我以前从未使用过 CMake,请见谅。
我的项目有一个“unity”文件夹,其中包含 2.3.0 版的单元测试库)。 unity_fixture.h 包含“#define TEST(...”,其用法如下:
#include "unity_fixture.h"
...
TEST(xformatc, Simple) {
char output[20];
TEST_ASSERT_EQUAL(13, testFormat(output, "Hello world\r\n"));
TEST_ASSERT_EQUAL_STRING("Hello world\r\n", output);
}
我将“include_directories(${CMAKE_SOURCE_DIR}/unity)”添加到我的 CMakeLists.txt 文件中。仍然 CLion 没有找到 TEST 的声明,我得到了大量的错误。 我确实尝试使用 set(SOURCE_FILES unity/unity_fixture.h..." 添加所有统一文件,但这也不起作用。
编辑 08.09.2015 我发现了一些奇怪的东西。如果我从命令行调用 cmake,它会创建一个包含以下内容的文件“DependInfo.cmake”:
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
)
# The set of files for implicit dependencies of each language:
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# The include file search paths:
set(CMAKE_C_TARGET_INCLUDE_PATH
"unity"
"cmsis/inc"
"freertos/inc"
)
set(CMAKE_CXX_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH})
set(CMAKE_Fortran_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH})
set(CMAKE_ASM_TARGET_INCLUDE_PATH ${CMAKE_C_TARGET_INCLUDE_PATH})
CLion 创建的文件中缺少 CMAKE_C_TARGET_INCLUDE_PATH 内容。我相信这就是它找不到标题的原因。问题是我如何告诉 CLion 创建 CMAKE_C_TARGET_INCLUDE_PATH 东西?
【问题讨论】: