Consider this cmake scripts:
find_package(Nxx 1.0.0 REQUIRED COMPONENTS Math IO)
add_compile_definitions(NXX)
target_link_librariesSolver PRIVATE Nxx::Math)
target_link_librariesSolver PRIVATE Nxx::IO)
file(GENERATE OUTPUT test_debug_genex.log
CONTENT "$<TARGET_PROPERTY:Solver,INCLUDE_DIRECTORIES>")
the MathTargets.cmake of package Nxx contains this contents:
if(NOT CMAKE_VERSION VERSION_LESS "3.23.0")
target_sources(Math
INTERFACE
FILE_SET "HEADERS"
TYPE "HEADERS"
BASE_DIRS "${_IMPORT_PREFIX}/xx/math"
FILES "${_IMPORT_PREFIX}/xx/math/Common.h" "${_IMPORT_PREFIX}/xx/math/Constants.h"
)
endif()
With CMake 3.23.0,
run command “cmake -G"Visual Studio 16” … " and I will find the path, after “${_IMPORT_PREFIX}/xx/math” expansion, in the field of “Additional Include Directories” of Visual Studio.
With CMake 3.24.1,
the same cmake scripts and command, I can NOT find the path in the field of “Additional Include Directories” of Visual Studio.
With both of them, I can find the path of “${_IMPORT_PREFIX}/xx/math” expansion in test_debug_genex.log.
By the way, both of CMake 3.23.0 and CMake 3.24.1 can generate a build system to build correctly.
Is it a regression for this issuse?