0

我用这个 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 解决方案中使用绝对路径

4

0 回答 0