set COMPILE_PDB_NAME to OBJECT library cause internal error
this happened on 3.8.0-rc1 and latest (4e8742d78f9176a3476ec442d7353fc4b3a7a58a) version
call stack shows as
cmake.exe!cmGeneratorTarget::GetOutputInfo(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & config) Line 4373 C++
cmake.exe!cmGeneratorTarget::GetPDBDirectory(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & config) Line 5303 C++
cmake.exe!cmGeneratorTarget::GetCompilePDBPath(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & config) Line 1161 C++
cmake.exe!cmVisualStudio10TargetGenerator::WriteClOptions(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & configName, const std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > & includes) Line 2337 C++
cmake.exe!cmVisualStudio10TargetGenerator::WriteItemDefinitionGroups() Line 3145 C++
cmake.exe!cmVisualStudio10TargetGenerator::Generate() Line 507 C++
cmake.exe!cmLocalVisualStudio10Generator::Generate() Line 77 C++
cmake.exe!cmGlobalGenerator::Generate() Line 1327 C++
cmake.exe!cmGlobalVisualStudio7Generator::Generate() Line 292 C++
cmake.exe!cmGlobalVisualStudio10Generator::Generate() Line 384 C++
cmake.exe!cmake::Generate() Line 1623 C++
in cmGeneratorTarget::GetOutputInfo comments shows:
// Only libraries and executables have well-defined output files.
if (!this->HaveWellDefinedOutputFiles()) {
std::string msg = "cmGeneratorTarget::GetOutputInfo called for ";
msg += this->GetName();
msg += " which has type ";
msg += cmState::GetTargetTypeName(this->GetType());
this->LocalGenerator->IssueMessage(cmake::INTERNAL_ERROR, msg);
......
simple test project to trigger this:
project (test)
cmake_minimum_required(VERSION 3.6)
add_library(a OBJECT a.cpp)
set_target_properties(a
PROPERTIES
COMPILE_PDB_NAME "cs"
)