- Jan 16, 2014
-
- Jan 15, 2014
-
-
Brad King authored
-
Brad King authored
Revert commit 4a6397a7 (Ninja: Track configured files so we can regenerate them, 2013-06-17). The files reported by the method cmMakefile::GetOutputFiles() must cause CMake to re-run only if they are missing and without considering a timestamp. This is not the meaning of the implicit dependencies field so Ninja re-runs CMake too often. Another solution will have to be found to the original problem.
-
- Jan 09, 2014
- Jan 08, 2014
-
-
Brad King authored
In VS <= 9 we already convert include paths to use backslashes but the conversion was left out of the VS >= 10 generator. Add the conversion now for consistency. VS 11 and 12 now require it because they mistakenly interpret forward-slash options that happen to occur in paths: http://connect.microsoft.com/VisualStudio/feedback/details/778367
-
- Jan 07, 2014
-
-
Since commit 56831461 (Xcode: Use explicitFileType to mark source types, 2013-04-16) the Xcode generator prefers to use explicitFileType to tell Xcode about each source file type. This works better than lastKnownFileType for some file types, but not for "file.storyboard". If storyboard file has attribute 'explicitFileType' it is displayed incorrectly (as raw xml). Switch it back to 'lastKnownFileType'.
-
- Jan 06, 2014
- Jan 02, 2014
-
-
Brad King authored
The <OBJECT_DIR> placeholder is supposed to be the base intermediate files directory for the current target. This is how it gets replaced during link line generation. However, during compile line generation we replace it with the directory containing the current object file which may be a subdirectory. Fix replacement of <OBJECT_DIR> in the generated compile lines to be the base intermediate files directory. This was expoxed by commit 42ba1b08 (VS: Separate compiler and linker PDB files, 2013-04-05) when we added a "/Fd<OBJECT_DIR>/" flag to the MSVC compile line in order to match the VS IDE default compiler program database location in the intermediate files directory. For source files in a subdirectory relative to the current target this caused the wrong location to be used for the compiler program database. This becomes particularly important when using precompiled headers. While at it, use the cmTarget::GetSupportDirectory method to compute the intermediate files directory for the current target instead of repeating the logic in a few places.
-
- Dec 09, 2013
-
-
Xcode 5.1 output no longer puts "./" in the path to the linker output for the CompilerId test binary. Update our regex to match the path with or without the component.
-
- Nov 18, 2013
-
-
Brad King authored
Since commit 42ba1b08 (VS: Separate compiler and linker PDB files, 2013-04-05) the VS generators no longer add ProgramDataBaseFileName. Therefore we should allow projects to do so by mapping the /Fd option. For VS >= 10 our flag tables map /Fd to ProgramDataBaseFileName already. Add the mapping for VS 7, 8, and 9.
-
- Nov 13, 2013
-
-
Rolf Eike Beer authored
-
- Nov 05, 2013
-
-
Brad King authored
-
In commit 18412153 (Refactor cmTarget::GetCompileDefinitions..., 2013-06-06) cmQtAutomoc was refactored to get all compile definitions from the target instead of separately asking the target and querying the directory-level COMPILE_DEFINITIONS property value. While the generation process does integrate directory-level COMPILE_DEFINITIONS into the target definitions, this did not happen until after Automoc targets are constructed. Therefore the commit regressed use of directory-level definitions in Automoc targets. Factor the definition finalization logic out from the cmGlobalGenerator::CreateGeneratorTargets method into a new cmGlobalGenerator::FinalizeTargetCompileDefinitions method and call it before constructing Automoc targets. This will place the directory-level definitions into the target in time to use them for the Automoc targets. Extend the QtAutomoc test to cover this case.
-
Brad King authored
-
Brad King authored
Do not access an argument index not known to exist.
- Nov 04, 2013
-
-
Brad King authored
-
Brad King authored
In the CMake interactive dialogs cmGlobalGenerator::Configure may run more than once. Clear the cmGlobalGenerator::EvaluationFiles data between configures to avoid accessing deleted data.
-
Brad King authored
-
Brad King authored
The property applies to all library types, not just shared libraries.
-
s/overriden/overridden/
-
- Nov 03, 2013
-
-
Brad King authored
Since cmTarget::ComputeLinkInterface is called separately for each "head" target that links a target, the warning we produce when CMP0022 is not set could be repeated. Add explicit logic to allow the warning to appear at most once. Multiple copies of the warning for the same target are almost always identical and therefore redundant. In the rare case that two copies of the warning are different, the second can appear in a future run after the first is fixed.
-
- Nov 02, 2013
-
-
Brad King authored
When cmExportFileGenerator::SetImportLinkInterface exports the old LINK_INTERFACE_LIBRARIES property values it skips doing so for non-linkable targets because target->GetLinkInterface returns NULL for such targets. Since cmExportFileGenerator::PopulateInterfaceLinkLibrariesProperty looks at the INTERFACE_LINK_LIBRARIES property directly instead of using the computed link interface, teach it to skip exporting the property if target->IsLinkable returns false. Extend the RunCMake.CMP0022 test with a case covering this. Simply export an executable target that links to a library that is not exported.
-
Brad King authored
-
Brad King authored
-
Brad King authored
-
Brad King authored
-
Brad King authored
The CMP0022 NEW behavior is that the INTERFACE_LINK_LIBRARIES property exactly defines the link interface. The plain target_link_libraries signature says linking is transitive by default, so it should populate the property. Teach the target_link_libraries plain signature to populate the INTERFACE_LINK_LIBRARIES regardless of the CMP0022 setting. Refactor the cmTarget::ComputeLinkInterface checks that warn when the policy is not set to compare the new property to either the explicitly set old link interface properties or the link implementation fallback for all linkable target types, not just static libraries. This fixes a regression in 2.8.12.0 that caused target_link_libraries to not implement transitive linking in the plain signature once the policy CMP0022 is set to NEW.
-
-
-
Brad King authored
-
- Nov 01, 2013
-
-
Brad King authored
Teach cmGlobalGenerator::CheckTargets to include OBJECT_LIBRARY targets in the check for source file existence. Extend the RunCMake.ObjectLibrary test to cover this case.
-
Brad King authored
Teach the cmGeneratorExpressionEvaluator filesystem artifact logic to reject OBJECT_LIBRARY targets since they have no main artifact. Without the explicit rejection evaluation falls through to an internal CMake error message in cmTarget::GetOutputInfo. Extend the RunCMake.GeneratorExpression test to cover these cases.
-
- Oct 26, 2013
-
-
Only valid target names or generator expressions may appear in the target field of a LINK_ONLY expression. Other content like link flags should still be added to that property (wrapped in config-specific generator expressions), but not wrapped in LINK_ONLY. Otherwise undue warnings would be issued for the policy CMP0022. The LINK_ONLY expression only has an effect for actual target names anyway, so there is no logical deficit.
-
- Oct 23, 2013
-
-
Other warnings for the same policy already have similar output since commit 81d2793e (Add differing target property content to policy CMP0022 warning, 2013-09-11).
-
- Oct 18, 2013
-
-
Brad King authored
In generators such as Ninja that can run multiple "cl" processes that refer to the same compiler .pdb file (/Fd) at the same time, MSVC from Visual Studio 2013 complains: fatal error C1041: cannot open program database '.../vc120.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS According to "cl /?": /FS force to use MSPDBSRV.EXE Add the flag to compilation lines for this compiler version just after the /Fd option.
-
- Oct 11, 2013
-
-
In CUDA 5.5 NPP was divided onto 3 separate libraries: nppc, npps, nppi.
-