The following issue has been SUBMITTED. ====================================================================== http://www.cmake.org/Bug/view.php?id=14600 ====================================================================== Reported By: Charles Karney Assigned To: ====================================================================== Project: CMake Issue ID: 14600 Category: CMake Reproducibility: always Severity: major Priority: normal Status: new ====================================================================== Date Submitted: 2013-11-26 20:22 EST Last Modified: 2013-11-26 20:22 EST ====================================================================== Summary: PDB_NAME target property ignored Description: I'm building using cmake 2.8.11 with the Visual Studio 10 Generator and src/CMakeLists.txt contains
set_target_properties (${PROJECT_STATIC_LIBRARIES} PROPERTIES VERSION "${LIBVERSIONFULL}" OUTPUT_NAME GeographicLib PDB_NAME GeographicLib_STATIC) After building I have <build-dir>/src/DEBUG/GeographicLib_STATIC.pdb alongside my .lib file as expected. (Actually it's geographiclib_static.pdb, but never mind about that.) A colleague is using cmake 2.8.12 with my project and for him the pdb file is buried as <build-dir>/src/GeographicLib_STATIC.dir/Dedug/vc100.pdb I.e., the directory and the name are wrong. This bug was introduced between 2.8.11 and 2.8.12. The following deletion seems to be responsible. --- cmake-2.8.11/Source/cmVisualStudio10TargetGenerator.cxx 2013-05-15 13:38:13.000000000 -0400 +++ cmake-2.8.12/Source/cmVisualStudio10TargetGenerator.cxx 2013-10-07 11:31:00.000000000 -0400 @@ -1260,18 +1409,7 @@ clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, " ", "\n", "CXX"); - this->WriteString("<AssemblerListingLocation>", 3); - *this->BuildFileStream << configName - << "</AssemblerListingLocation>\n"; this->WriteString("<ObjectFileName>$(IntDir)</ObjectFileName>\n", 3); - if(this->Target->GetType() != cmTarget::OBJECT_LIBRARY) - { - this->WriteString("<ProgramDataBaseFileName>", 3); - *this->BuildFileStream << this->Target->GetPDBDirectory(configName.c_str()) - << "/" - << this->Target->GetPDBName(configName.c_str()) - << "</ProgramDataBaseFileName>\n"; - } this->WriteString("</ClCompile>\n", 2); } Steps to Reproduce: Set the PDB_NAME property on a library, build the Debug config. PDB file is in the right location with 2.8.11 and in the wrong location with 2.8.12. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2013-11-26 20:22 Charles Karney New Issue ====================================================================== -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers