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