我想处理一个使用Visual Studio 2017从git克隆的项目。该项目配备了cmake文件,可以手动在bash中构建。在VS中打开目录后,cmake会输出include-和add-errors,因为尽管它已安装到我的系统中,但无法在资源中找到库(carl)。
我使用Visual Studio Community 2017 15.9.6,cmake 3.10.2,并且为了(手动)在bash中构建项目,我使用Windows的Linux子系统。该项目位于其自己的目录(例如/ project)中,具有子目录/ src,/ cmake,/ build等。卡尔库可以在/ mnt / c / libs / carl下找到,而在/ project / src / resources / carl下却找不到,cmake希望在此找到。
set(CARL_BUILD_DIR "${CMAKE_BINARY_DIR}/resources/src/CArL-config-EP-build")
file(MAKE_DIRECTORY ${CARL_BUILD_DIR})
execute_process(
COMMAND ${CMAKE_COMMAND} -DTARGETDIR=${CMAKE_BINARY_DIR}/resources ${CMAKE_SOURCE_DIR}/src/resources/carl
WORKING_DIRECTORY ${CARL_BUILD_DIR}
)
execute_process(
COMMAND ${CMAKE_COMMAND} --build . --target CArL-EP-download
WORKING_DIRECTORY ${CARL_BUILD_DIR}
)
ExternalProject_Add(
CArL-EP
DOWNLOAD_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} carl
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install/fast
)
include(${CMAKE_BINARY_DIR}/resources/src/CArL-EP-build/carlConfig.cmake)
message("Include ${CMAKE_BINARY_DIR}/resources/src/CArL-EP-build/carlConfig.cmake")
add_dependencies(carl-shared CArL-EP)
add_dependencies(carl-static CArL-EP)
add_dependencies(resources carl-static carl-shared)
(VS中的cmake输出指向此cmake文件carl.cmake)
我希望VS分析并索引整个项目,以提供完全正常的Intellisense功能。到目前为止,VS只是一个文本编辑器。
我对cmake的经验不是很丰富,因此,我将不胜感激。