I setup a CMake project, but when I open its folders with Visual Studio (not VSCode), Visual Studio added an absolute path to every target's name. How to remove them?
Part of the main CMakeLists.txt:
cmake_minimum_required(VERSION 3.24)
project(ZwHLR)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED 20)
add_compile_definitions(PROJECT_DIR="${CMAKE_SOURCE_DIR}")
if (MSVC AND (MSVC_VERSION GREATER_EQUAL 1914))
add_compile_options("/Zc:__cplusplus")
endif()
set(THIRD_PARTY_DIR "${CMAKE_SOURCE_DIR}/ref")
set(THIRD_PARTY_EXTRA_DIR "${THIRD_PARTY_DIR}/extras")
# Windows Kits
set(CMAKE_WINDOWS_KITS_10_DIR "C:/Program Files (x86)/Windows Kits/10")
set(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION 10)
set(VCPKG_ENV_PASSTHROUGH "CMAKE_WINDOWS_KITS_10_DIR,CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION")
set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUTCONFIG})
endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES)
add_subdirectory(tools)
and tools/CMakeLists.txt
add_executable(test_runner)
target_include_directories(
test_runner PUBLIC
${ACIS_INCLUDE_DIR}
${CMAKE_CURRENT_LIST_DIR}/test_runner
${CMAKE_CURRENT_LIST_DIR}/phl_example
)
target_sources(
test_runner PRIVATE
${CMAKE_CURRENT_LIST_DIR}/test_runner/main.cpp
)
target_link_libraries(
test_runner PRIVATE
CLI11 rapidjson ${HLR_LIBS} phl_example_object
)
target_link_directories(test_runner PUBLIC ${ACIS_LIBRARY_DIR})
set_target_properties(test_runner PROPERTIES VS_DEBUGGER_ENVIRONMENT "PATH=${ACIS_BINARY_DIR};$ENV{PATH}")
