Revision 666ad1df2dc5b181a40d831c125529fe7e9bf0b4 authored by Brad King on 24 February 2017, 15:07:18 UTC, committed by Brad King on 24 February 2017, 15:15:50 UTC
This reverts commit v3.7.0-rc1~275^2 (Ninja: Use full path for all
source files, 2016-08-05).  Unfortunately using absolute paths can
cause incorrect rebuilds due to ninja limitations.  The ninja
manual [1] explains:

> ... using absolute paths, your depfile may result in a mixture of
> relative and absolute paths. Paths used by other build rules need
> to match exactly.

Passing an absolute path to a source file to the compiler while using a
relative path in the ninja build manifest can cause such mixture and
lead to incorrect rebuilds.  Simply revert the change for now.

Note that there was a follow-up to the original change in commit
v3.7.0-rc2~10^2 (Ninja: Fix RC language depfile generation with
cmcldeps, 2016-10-13).  We don't need to revert that because that
change made the relevant code cleverly adapt to whatever variable
we use to reference the source file.

[1] https://ninja-build.org/manual.html#_deps

Fixes: #16675
Issue: #13894
1 parent efac65d
History
File Mode Size
Android
AndroidMK
AndroidTestUtilities
AutoExportDll
BuildDepends
CMP0004
CMP0019
CMP0022
CMP0026
CMP0027
CMP0028
CMP0037
CMP0038
CMP0039
CMP0040
CMP0041
CMP0042
CMP0043
CMP0045
CMP0046
CMP0049
CMP0050
CMP0051
CMP0053
CMP0054
CMP0055
CMP0057
CMP0059
CMP0060
CMP0064
CMP0065
COMPILE_LANGUAGE-genex
CPack
CPackConfig
CPackInstallProperties
CPackSymlinks
CTest
CTestCommandLine
CTestTimeoutAfterMatch
CheckModules
ClangTidy
CommandLine
CommandLineTar
CompatibleInterface
CompileDefinitions
CompileFeatures
CompilerChange
CompilerLauncher
CompilerNotFound
Configure
CrosscompilingEmulator
DisallowedCommands
ExportWithoutLanguage
ExternalData
ExternalProject
FPHSA
FeatureSummary
File_Generate
FindMatlab
FindPkgConfig
Framework
GNUInstallDirs
GenerateExportHeader
GeneratorExpression
GeneratorPlatform
GeneratorToolset
IfacePaths
IncludeWhatYouUse
IncompatibleQt
Languages
LinkStatic
LinkWhatYouUse
Make
Ninja
ObjectLibrary
ObsoleteQtMacros
PolicyScope
PositionIndependentCode
Swift
Syntax
TargetObjects
TargetPolicies
TargetPropertyGeneratorExpressions
TargetSources
ToolchainFile
VS10Project
VSSolution
VisibilityPreset
WriteCompilerDetectionHeader
XcodeProject
add_custom_command
add_custom_target
add_dependencies
add_subdirectory
alias_targets
build_command
cmake_minimum_required
cmake_parse_arguments
configure_file
continue
ctest_build
ctest_cmake_error
ctest_configure
ctest_coverage
ctest_fixtures
ctest_memcheck
ctest_start
ctest_submit
ctest_test
ctest_upload
execute_process
export
file
find_dependency
find_file
find_library
find_package
find_path
find_program
get_filename_component
get_property
if
include
include_directories
include_external_msproject
install
interface_library
list
message
no_install_prefix
project
return
set
set_property
string
target_compile_features
target_link_libraries
try_compile
try_run
variable_watch
while
CMakeLists.txt -rw-r--r-- 12.1 KB
README.rst -rw-r--r-- 2.2 KB
RunCMake.cmake -rw-r--r-- 5.1 KB
RunCTest.cmake -rw-r--r-- 682 bytes
pseudo_emulator.c -rw-r--r-- 191 bytes
pseudo_emulator_custom_command.c -rw-r--r-- 823 bytes
pseudo_iwyu.c -rw-r--r-- 115 bytes
pseudo_tidy.c -rw-r--r-- 278 bytes

README.rst

back to top