如何在不同位置的 VS 中使用基于 cmakelitsts 的项目?

问题描述

我使用带有此 cmakelists.txt 的 CMake 构建创建了一个 VS 项目

文件夹结构

file_build/source/cmakelists.txt
file_build/source/dds/idlpp-cxx
file_build/source/dds/CycloneDDS
file_build/source/dds/CycloneDDS-cxx
file_build/myproject/myproject.sln

cmakelists.txt

project(myproject LANGUAGES C CXX)
cmake_minimum_required(VERSION 3.5)

find_package(Idlpp-cxx PATHS ${CMAKE_CURRENT_SOURCE_DIR}/dds/idlpp-cxx)

find_package(CycloneDDS PATHS ${CMAKE_CURRENT_SOURCE_DIR}/dds/CycloneDDS)

find_package(CycloneDDS-CXX PATHS ${CMAKE_CURRENT_SOURCE_DIR}/dds/CycloneDDS-CXX)

idl_ddscxx_generate(myproject_lib "myproject.idl")

add_library(myproject SHARED myproject.h myproject.cpp)  

target_link_libraries(myproject myproject_lib CycloneDDS-CXX::ddscxx)  

set_property(TARGET myproject PROPERTY CXX_STANDARD 11)  

我可以在 VS 2017 中构建使用上述 cmakelists.txt 创建的 VS 解决方

但是当我在构建 sln 项目时更改了硬盘中 file_build 的位置时,它会在系统中查找绝对路径。这是在初始 cmakelists 构建期间设置的

如何让它使用相对路径。如何在cmakelists.txt中设置使用相关路径?

因为file_build文件要在不同的PC上使用/打开和开发构建。我需要避免在创建的 Visual Studio 解决方案中使用绝对路径

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)