我的项目结构如下:
CMakeLists.txt
cmake
CMakeLists.txt
src
server
CMakeLists.txt
impl
server.cpp
CMakeLitst.txt
main.cpp
我试图包括子项目src,这取决于在我的情况下PostgreSQL。Cmake配置正常,但构建子项目时出错:libpq-fe.h: No such file or directory
。PostgreSQL
正在查找ok,并且没有子项目的链接良好。
以下是当前的CMakeLists.txt文件:cmake/CmakeLists.txt:
FetchContent_Declare(ormpp
GIT_REPOSITORY https://github.com/qicosmos/ormpp.git
GIT_TAG 6f4f9dcb07487a4a7273eb9fa0d7535f6adf6963)
FetchContent_MakeAvailable(ormpp)
CMakeLists.txt:
find_package(PostgreSQL REQUIRED)
add_subdirectory(cmake)
add_subdirectory(src)
src/server/CMakeLists.txt:
add_executable(server main.cpp)
target_link_libraries(server PUBLIC PostgreSQL::PostgreSQL)
我必须在我的CMakeFiles
中更改什么才能使子项目链接正常工作?
先谢谢你。
1条答案
按热度按时间ogq8wdun1#
您需要添加以下内容:
或者,如果您有多个目标并且只想指定一次:
参考:https://cmake.org/cmake/help/latest/command/target_include_directories.html