删除CMake和QT上包含的路径遍历

vi4fp9gy  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(200)

我正在尝试使用CMake和QT Creator设置一些包含路径,我想去掉包含的路径遍历。


# include <QtTest>

# include <QCoreApplication>

# include <QDebug>

# include "../../../../UI/Controller/PageNavigator/PageNavigatorPT.h"  //this works

//#include "PageNavigatorPT.h" // but this what I want

我希望注解掉的内容,这样我就可以避免在我的源代码上进行这些巨大的路径遍历。我将以下内容添加到我的cmake中,以尝试解决这个问题:

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(pageNavigatorTest
    ../../../../UI/Controller/PageNavigator/PageNavigatorBase.cpp
    ../../../../UI/Controller/PageNavigator/PageNavigatorPT.cpp
    tst_pagenavigatortest.cpp)

target_include_directories(${PROJECT_NAME}
PUBLIC
      ${CMAKE_CURRENT_SOURCE_DIR}../../../../UI/Controller/PageNavigator
)

add_test(NAME pageNavigatorTest COMMAND pageNavigatorTest)

但是它不起作用,我仍然必须详细说明完整的路径遍历。
有没有一种方法可以让CMake让我的源代码找到正确的头文件,只需编写:


# include "PageNavigatorPT.h" // but this what I want
xwbd5t1u

xwbd5t1u1#

谢谢@Tsyvarev,这解决了问题(在第一个目录前划斜线

target_include_directories(${PROJECT_NAME}
PUBLIC
      ${CMAKE_CURRENT_SOURCE_DIR}/../../../../UI/Controller/PageNavigator
)

相关问题