summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'reduce-cmState-accumulation' into releaseBrad King2015-11-308-66/+121
|\
| * cmState: Avoid accumulating snapshot storage for short-lived scopesBrad King2015-11-253-0/+34
| | | | | | | | | | We need to keep only certain snapshot types and their ancestors. Also keep those needed for backtraces.
| * cmState: Avoid accumulating policy stack storage for short-lived scopesBrad King2015-11-251-1/+1
| | | | | | | | | | | | | | We enforce policy push/pop balance around any scope that pushes/pops a snapshot. Therefore a snapshot may never reference entries of PolicyStack that were created in nested scopes. Free storage of short-lived policy stack entries when they are popped.
| * cmListFileCache: Implement cmListFileBacktrace ctor/dtor out-of-lineBrad King2015-11-252-4/+13
| |
| * cmLinkedTree: Add Pop methodBrad King2015-11-251-0/+21
| | | | | | | | | | | | | | Add a method to increment an iterator (follow the "up" pointer) to the previous level in the stack of scopes and free storage of the top of the stack if possible. This will allow short-lived scopes to be created and destroyed by matching Push/Pop pairs without accumulating storage.
| * cmLinkedTree: Rename 'Extend' method to 'Push'Brad King2015-11-252-35/+35
| | | | | | | | | | | | Logically the method pushes a nested scope on top of a given scope because the "up" pointer sequence forms a stack independent of any other branches of the tree.
| * cmState: Enforce policy scope balancing around variable scopesBrad King2015-11-252-6/+2
| | | | | | | | | | | | | | | | Everywhere we use cmMakefile::ScopePushPop to manage variable scopes also expects policy scopes to be balanced. There is no place that we use cmMakefile::PolicyPushPop without also using ScopePushPop. Relieve PolicyPushPop of responsibility for policy scope balance checks by moving it to ScopePushPop.
| * cmLocalGenerator: Use ScopePushPop RAII class to manage local variable scopesBrad King2015-11-251-4/+2
| |
| * cmMakefile: Remove unused PolicyPushPop interfacesBrad King2015-11-252-10/+4
| | | | | | | | | | | | The PolicyPushPop constructor arguments and Quiet method were used to pass non-default arguments to PushPolicy and PopSnapshot, but no clients use them anymore.
| * cmMakefile: Clarify purpose of method that pops a scope snapshotBrad King2015-11-252-8/+11
| | | | | | | | | | | | | | The `PopPolicyBarrier` method is actually responsible for closing any scope opened by creating a snapshot. Rename it to `PopSnapshot` and add a comment explaining the purpose of the poilcy-scope-specific part of the method.
* | Merge branch 'fix-find_package-version-file-error-stack' into releaseBrad King2015-11-2519-2/+40
|\ \ | |/
| * Merge branch 'test-cmake_policy-unmatched' into ↵Brad King2015-11-2418-0/+36
| |\ | | | | | | | | | fix-find_package-version-file-error-stack
| | * Tests: Add case for package version file unmatched policy scopeBrad King2015-11-2411-0/+22
| | |
| | * Tests: Add case for unmatched cmake_policy({PUSH,POP})Brad King2015-11-247-0/+14
| | |
| * | cmState: Skip variable scope snapshots to avoid call stack duplicatesBrad King2015-11-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.4.0-rc1~179^2~1 (cmState: Add a VariableScope snapshot type, 2015-08-23) the snapshot stack may have a VariableScopeType entry. Skip over these when constructing the call stack, just as we do for policy scopes. Otherwise we report the command causing the variable scope to be entered twice (e.g. find_package while loading a package version file).
* | | Merge branch 'test-add_subdirectory-in-function' into releaseBrad King2015-11-244-0/+33
|\ \ \
| * | | Tests: Add case for add_subdirectory inside a functionBrad King2015-11-234-0/+33
| | |/ | |/|
* | | Merge branch 'revert-compiler-links-statically' into releaseBrad King2015-11-237-23/+0
|\ \ \
| * | | Revert "Disable shared library support when compiler links statically" (#15855)Brad King2015-11-237-23/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.4.0-rc1~18^2 (Disable shared library support when compiler links statically, 2015-09-30) we tried to detect when the compiler is not capable of linking shared libraries (possibly due to flags in use). However, the approach is not robust against flags like `-nostdlib`. Revert it for now pending another solution to the original problem.
* | | | Merge branch 'backport-fix-autodef-bigobj-64' into releaseBrad King2015-11-202-1/+3
|\ \ \ \
| * | | | Fix auto export symbols for Dlls containing /bigobj for 64bit builds.Bill Hoffman2015-11-202-1/+3
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | This fixes a bug where 64 bit builds with /bigobj incorrectly determined that the object files were not 64 bit. This manifested itself with printf type functions showing up as undefined because the leading underscore was being removed and should not be removed.
* | | | Merge branch 'avoid-divide-by-zero' into releaseBrad King2015-11-191-1/+7
|\ \ \ \
| * | | | cmELF: Avoid divide by zero if there are no dynamic section entriesTy Smith2015-11-191-1/+7
| |/ / /
* | | | Merge branch 'fix-forced-toolchain-dialect' into releaseBrad King2015-11-197-0/+29
|\ \ \ \
| * | | | Project: Guess default standard dialect if compiler was forced (#15852)Brad King2015-11-197-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to commit v3.4.0-rc1~71^2 (Project: Determine default language dialect for the compiler, 2015-09-15) we always guessed the default language standard dialect based on the compiler version. This was not reliable so that commit switched to computing the default language standard dialect while detecting the compiler id. When a toolchain file uses CMakeForceCompiler to set the compiler id then the detection does not occur. Therefore commit v3.4.0-rc1~54^2 (Project: Don't require computed default dialect if compiler was forced, 2015-09-22) made the lack of detection an error only if the compiler was not forced. However, this means that projects using CMakeForceCompiler no longer even get the guess that we had before so <LANG>_COMPILER does not work. Due to the sophistication of CMake's compiler detection logic projects should be ported away from using CMakeForceCompiler. In the meantime, restore a guess of the default language standard dialect when the compiler is forced.
* | | | | Merge branch 'backport-android-no-versioned-soname' into releaseBrad King2015-11-191-0/+1
|\ \ \ \ \
| * | | | | Android: Restore generation of non-versioned soname (#15851)Brad King2015-11-191-0/+1
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our check of CMAKE_PLATFORM_NO_VERSIONED_SONAME, originally added by commit v3.1.0-rc1~416^2 (Add basic Android platform module, 2014-06-06), was dropped accidentally by commit v3.4.0-rc1~250^2~21 (cmGeneratorTarget: Move GetLibraryNames from cmTarget, 2015-08-04). Restore the check in the new location of the GetLibraryNames method.
* | | | | Merge branch 'FindGTest-avoid-CMP0064' into releaseBrad King2015-11-181-3/+3
|\ \ \ \ \
| * | | | | FindGTest: Refactor test type checks to avoid cases triggering CMP0064Brad King2015-11-181-3/+3
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update our if() conditions to avoid CMP0064 warnings when `${test_type}` is equal to `TEST`. Reported-by: David T. Chen <dchen@mail.nih.gov>
* | | | | Merge branch 'fix-ms-manifest-no-linker' into releaseBrad King2015-11-182-1/+5
|\ \ \ \ \
| * | | | | MSVC: Fix linking with /MANIFEST:NO optionBrad King2015-11-182-1/+5
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.4.0-rc1~74^2~1 (MSVC: Rewrite manifest file handling with Makefile and Ninja, 2015-09-15) broke handling of this option. Fix it and add a test case.
* | | | | Merge branch 'fix-compute-default-dialect-lto' into releaseBrad King2015-11-182-0/+2
|\ \ \ \ \
| * | | | | Make C and C++ default dialect detection robust to advanced optimizationsBrad King2015-11-182-0/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.4.0-rc1~71^2 (Project: Determine default language dialect for the compiler, 2015-09-15) we added an "INFO:..." string to the compiler id detection binary. The value can be optimized out of the compiler id binary unless we force it to be included by making the program behavior depend on it at runtime. Add references to the value as we do for the other info strings already. Gentoo-Issue: https://bugs.gentoo.org/show_bug.cgi?id=565744
* | | | | Merge branch 'cray-fortran-version' into releaseBrad King2015-11-121-0/+2
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Cray: Implement Fortran compiler version detection (#15845)Brad King2015-11-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already recognize the Cray Fortran compiler id. Extract the version number using the same predefined macros we already use for Cray C and C++ compilers.
* | | | | CMake 3.4.0v3.4.0Brad King2015-11-121-1/+1
| | | | |
* | | | | Merge branch 'fix-install-rules' into releaseBrad King2015-11-091-6/+1
|\ \ \ \ \
| * | | | | Install: Move SetHaveInstallRule to a more-obvious placeStephen Kelly2015-11-081-6/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The moved-from location checks for the existence of whether certain generators are needed for any target in a loop, rather than whether the current target has an install rule. This was introduced in commit v3.4.0-rc1~275^2~3 (cmInstallCommand: Move the SetHaveInstallRule invocation., 2015-07-28). Move the SetHaveInstallRule call to a more-obvious place where the cmInstallTargetGenerator is constructed.
* | | | | CMake 3.4.0-rc3v3.4.0-rc3Brad King2015-11-021-1/+1
| | | | |
* | | | | Merge branch 'doc-apple-info-plist-properties' into releaseBrad King2015-10-302-29/+37
|\ \ \ \ \
| * | | | | Help: Document target properties setting Info.plist fields (#15820)Brad King2015-10-302-29/+37
| |/ / / / | | | | | | | | | | | | | | | | | | | | Format the documentation of MACOSX_{BUNDLE,FRAMEWORK}_INFO_PLIST and specify for each property what field in the Info.plist file it sets.
* | | | | Merge branch 'fix-find_program-regression' into releaseBrad King2015-10-305-0/+27
|\ \ \ \ \
| * | | | | find_program: Fix regression in finding an already-known pathBrad King2015-10-305-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in commit v3.4.0-rc1~124^2~1 (cmFindProgramCommand: Re-implement search using more flexible approach, 2015-09-01) did not preserve the behavior of looking for the given name with no search path at all. Fix this and add a test case covering finding an absolute path with no search directories.
* | | | | | Merge branch 'intel-fortran-2016' into releaseBrad King2015-10-291-1/+3
|\ \ \ \ \ \
| * | | | | | Intel: Recognize MSVC version for Intel Fortran 2016 (#15809)Brad King2015-10-261-1/+3
| | |/ / / / | |/| | | |
* | | | | | Merge branch 'backport-revert-autorcc-qt-5.1' into releaseBrad King2015-10-291-1/+1
|\ \ \ \ \ \
| * | | | | | Revert "cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)"Brad King2015-10-271-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9a271e13236d81b79e3e367a6898e09d3dcf28d0. The `-list` option is not documented and may be removed in future Qt versions. Fixing this correctly will require detecting the availability of `--list` or `-list` based on the `rcc` version found. For now we choose to support the documented option that will be supported in future Qt versions.
* | | | | | Merge branch 'vs-resw-files' into releaseBrad King2015-10-291-0/+4
|\ \ \ \ \ \
| * | | | | | VS: Add support for `.resw` files (#15811)Andrew Shaitorov2015-10-281-0/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | These are used on the WinRT & WinPhone platforms. Build them using the `PRIResource` tool.
* | | | | | Merge branch 'cpack-deb-fakeroot-removal' into releaseBrad King2015-10-231-1/+1
|\ \ \ \ \ \