summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: Fix multiple custom command outputs regression (#15116)Brad King2015-03-076-74/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.2.0-rc1~272^2~2 (Makefile: Fix rebuild with multiple custom command outputs, 2014-12-05) we changed the generated makefile pattern for multiple outputs from out1: depends... commands... out2: out1 to out1 out2: depends... commands... This was based on the incorrect assumption that make tools would treat this as a combined output rule and run the command(s) exactly once for them. It turns out that instead this new pattern is equivalent to out1: depends... commands... out2: depends... commands... so the commands may be run more than once. Some documents suggest using a "dedicated witness" stamp file: stamp: depends... rm -f stamp touch stamp.tmp commands... mv stamp.tmp stamp out1 out2: stamp However, if the commands fail the error message will refer to the stamp instead of any of the real outputs, which may be confusing to readers. Also, this approach seems to have the same behavior of the original approach that motiviated the above commit: multiple invocations are needed to bring consumers of the outputs up to date. Instead we can return to the original approach but add an explicit touch to each extra output rule: out1: depends... commands... out2: out1 touch -c out2 This causes make tools to recognize that all outputs have changed and therefore to execute any commands that consume them.
* Merge branch 'backport-KWSys-SystemTools-CopyFileAlways-fix' into releaseBrad King2015-03-021-0/+4
|\
| * KWSys SystemTools: Update CopyFileAlways stream library workaroundsPaul Martin2015-03-021-0/+4
| | | | | | | | | | On some stream libraries failbit is not set when trying to read past EOF. Instead, always exit the copy loop when gcount() is zero.
* | Merge branch 'fix-crash-on-bad-LANG_STANDARD' into releaseBrad King2015-02-285-1/+17
|\ \
| * | Diagnose invalid <LANG>_STANDARD value instead of crashing (#15426)Brad King2015-02-285-1/+17
| |/
* | Merge branch 'cpack_rpm_mulit_prefix_fixup' into releaseBrad King2015-02-273-20/+62
|\ \
| * | CPackRPM: Fix handling of relocation prefix parent directoriesDomen Vrankar2015-02-273-20/+62
| | | | | | | | | | | | | | | | | | | | | In commit 3ec02547 (CPackRPM: Allow multiple path relocation prefixes for one package, 2015-01-21) a regression was introduced that causes parent directories of relocation paths to be incorrectly included in the rpm. Fix this and make the test case more strict to cover it.
* | | Merge branch 'install-manifest-optimize' into releaseBrad King2015-02-262-12/+10
|\ \ \
| * | | install: Write the entire installation manifest at onceRobert Goulet2015-02-262-12/+10
| | |/ | |/| | | | | | | | | | Avoid a separate open/close for each file installed. Use a single file(WRITE) instead of a loop with file(APPEND).
* | | Merge branch 'sln-no-bom' into releaseBrad King2015-02-242-10/+0
|\ \ \ | |/ / |/| |
| * | VS: Do not generate a BOM in .sln filesBrad King2015-02-242-10/+0
|/ / | | | | | | | | | | Revert commit v3.2.0-rc1~165^2 (Encoding: Write Visual Studio solution file with BOM, 2014-12-26). The BOM breaks the VS IDE version selector when loading the .sln from Windows Explorer.
* | CMake 3.2.0-rc2v3.2.0-rc2Brad King2015-02-231-1/+1
| |
* | Merge branch 'FindCurses-remove-unused-check' into releaseBrad King2015-02-201-2/+0
|\ \
| * | FindCurses: Drop unused check for cbreak in tinfo libraryBrad King2015-02-201-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This check was first added by commit v3.0.0-rc5~6^2 (FindCurses: Detect and satisfy ncurses dependency on tinfo, 2014-01-17), but it is not correctly conditioned on existence of the tinfo library and fails if the code path is taken but tinfo is not found. However, since commit v3.2.0-rc1~369^2 (FindCurses: Drop search for deprecated HP-UX cur_colr library, 2014-11-17) the result of the check is not used, so simply drop it.
* | | Merge branch 'private-FindJsonCpp' into releaseBrad King2015-02-207-12/+10
|\ \ \
| * | | bootstrap: Add --(no-)system-jsoncpp optionsBrad King2015-02-201-2/+4
| | | | | | | | | | | | | | | | Provide bootstrap-time control for using a system JsonCpp library.
| * | | FindJsonCpp: Drop new module due to upstream jsoncpp providing packageBrad King2015-02-206-10/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since jsoncpp 0.7.0 (2014-11-20) the upstream may provide a CMake package configuration file such that find_package(jsoncpp) will find a jsoncppConfig.cmake file. In order to avoid conflicting with this (especially on case-insensitive filesystems), and since we always prefer projects to provide package config files (that they maintain), it is better to not provide FindJsonCpp publicly. Move FindJsonCpp into a private source directory that is not installed so that we can still use it for building CMake itself. Reported-by: Ryan Pavlik <ryan.pavlik@gmail.com>
* | | Merge branch 'cmake-gui-reset-generator-toolset-and-platform' into releaseBrad King2015-02-191-0/+2
|\ \ \
| * | | cmake-gui: Reset generator platform and toolset on configure (#15411)Brad King2015-02-191-0/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | At the start of each configure step we already reset the generator selection (CMAKE_GENERATOR) to match that loaded for the current project. Add missing code to reset the generator platform and toolset (CMAKE_GENERATOR_PLATFORM and CMAKE_GENERATOR_TOOLSET) also so that they do not leak across projects.
* | | Merge branch 'binary-release-no-OpenSSL-on-Win-or-OSX' into releaseBrad King2015-02-182-12/+2
|\ \ \
| * | | Utilities/Release: Build OS X and Win binaries without OpenSSLBrad King2015-02-182-12/+2
| |/ / | | | | | | | | | This will tell our curl to use the OS-native TLS/SSL APIs.
* | | Merge branch 'FindJNI-awt-arch' into releaseBrad King2015-02-181-0/+1
|\ \ \
| * | | FindJNI: Add arch-specific library dir for JDK 9 layout (#15408)Tiago Stürmer Daitx2015-02-181-0/+1
| |/ / | | | | | | | | | | | | JDK9's directory structure changes and no jdk/jre exists. The arch lib path is now jdk/lib/<arch> (instead of jdk/jre/lib/<arch>).
* | | Merge branch 'doc-3.2-relnotes-fixup' into releaseBrad King2015-02-131-6/+6
|\ \ \
| * | | Help: In 3.2 relnotes move OpenGL/X11 to deprecated/removed sectionBrad King2015-02-131-6/+6
| | | | | | | | | | | | | | | | It is a possibly incompatible change.
* | | | Merge branch 'doc-configure_file-output-location' into releaseBrad King2015-02-121-30/+95
|\ \ \ \ | |_|/ / |/| | |
| * | | Help: Revise configure_file documentation (#15403)Brad King2015-02-121-30/+95
| |/ / | | | | | | | | | | | | | | | Format the documentation with better reST markup. Revise the wording to clarify how relative paths are handled. Also add an example section.
* | | Merge branch 'cpack_rpm_mulit_prefix_fixup' into releasev3.2.0-rc1Brad King2015-02-111-1/+6
|\ \ \ | | |/ | |/|
| * | CPackRPM: Do not run file(GLOB_RECURSE) without CMP0009 set to NEWDomen Vrankar2015-02-111-1/+6
| | | | | | | | | | | | | | | | | | The file(GLOB_RECURSE) call added by commit 3ec02547 (CPackRPM: Allow multiple path relocation prefixes for one package, 2015-01-21) should not follow directory symlinks, so make sure CMP0009 is set to NEW.
* | | Merge branch 'FindCoin3D-drop-link' into releaseBrad King2015-02-111-2/+1
|\ \ \
| * | | FindCoin3D: Drop link to project homepageBrad King2015-02-111-2/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | The project has moved from <http://www.coin3d.org/> to <https://bitbucket.org/Coin3D/coin/wiki/Home>. Simply drop the out-dated link. Few find modules have links to the project sites. Anyone looking to use a given find module likely already knows about the project it finds and can use a search engine to find its homepage.
* | | Merge branch 'fix_timeout_docs' into releaseBrad King2015-02-101-1/+1
|\ \ \
| * | | Help: Fix variable reference in TIMEOUT test property docsZack Galbreath2015-02-101-1/+1
| |/ / | | | | | | | | | Link to 'CTEST_TEST_TIMEOUT', not 'CTEST_TESTING_TIMEOUT'.
* | | Merge branch 'bootstrap-sphinx-qthelp' into releaseBrad King2015-02-101-0/+8
|\ \ \
| * | | bootstrap: Add --sphinx-qthelp option to enable qthelp doc generationNuno Sucena Almeida2015-02-101-0/+8
| |/ /
* | | Merge branch 'makefile-missing-comment' into releaseBrad King2015-02-101-1/+1
|\ \ \
| * | | Makefile: Fix regression in target-bound custom command COMMENT outputNils Gladitz2015-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | Fix a logic typo introduced by commit v3.1.0-rc1~781^2 (Generalize cmCustomCommandGenerator to more fields, 2014-03-10).
* | | | Merge branch 'cpack_rpm_mulit_prefix_fixup' into releaseBrad King2015-02-101-1/+1
|\ \ \ \ | | |_|/ | |/| |
| * | | CPackRPM: Fix recognition of absolute relocation pathsDomen Vrankar2015-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | Fix typo in logic added by commit 3ec02547 (CPackRPM: Allow multiple path relocation prefixes for one package, 2015-01-21).
* | | | Merge branch 'no-global-setlocale' into releaseBrad King2015-02-069-12/+39
|\ \ \ \ | |/ / / |/| | |
| * | | Merge branch 'backport-no-global-setlocale' into no-global-setlocaleBrad King2015-02-069-12/+39
| |\ \ \ | | |_|/ | |/| | | | | | Resolve conflict in Source/CMakeLists.txt by taking both changes.
| | * | Add setlocale() calls around use of libarchive APIs (#14934, #15377)Brad King2015-02-064-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The libarchive APIs use nl_langinfo(CODESET) for iconv so they need the locale to be set for LC_CTYPE. However, the rest of CMake does not define any behavior for non-ASCII character classification/conversion so we do not want to setlocale() globally. Add a RAII class to save, set, and restore the locale around calls to libarchive APIs. Inspired-by: Clinton Stimpson <clinton@elemtech.com>
| | * | Do not call setlocale() globally in CMake applications (#15377)Brad King2015-02-065-12/+0
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the changes made by commit v3.1.0-rc1~406^2~1 (Encoding: Add setlocale() to applications, 2014-05-30) and commit v3.1.0-rc1~406^2 (Encoding: Change to only set LC_CTYPE, 2014-06-11), and other setlocale calls added later in their spirit. CMake has not been taught how to deal with non-C locales everywhere. We do not define any functionality for character conversions for non-ASCII strings. Another solution will be needed to address the original problem motivating addition of setlocale() calls.
* | | CMake 3.2.0-rc1 version updateBrad King2015-02-052-4/+4
| | |
* | | Help: Drop development topic notes to prepare releaseBrad King2015-02-052-9/+0
|/ / | | | | | | | | Release versions do not have the development topic section of the CMake Release Notes index page.
* | Merge topic 'rename-release-notes'Brad King2015-02-054-12/+12
|\ \ | | | | | | | | | | | | af8d1c17 Help: Rename 3.x.0 release notes to 3.x
| * | Help: Rename 3.x.0 release notes to 3.xBrad King2015-02-054-12/+12
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.0.0-rc1~9 (Help: Rename 3.0 release notes to 3.0.0, 2014-02-19) we anticipated the possibility of bugfix-only release notes. However, in practice we have no release notes for bug fix releases because we do not cover bug fixes in release notes at all, only new features. Instead we've been updating the feature-level release notes document in bug fix releases, treating errors in the document as bugs. It makes more sense to maintain release notes at the feature-release level, so rename the documents accordingly. Also update the document titles and intro text to refer only to feature versions and not bugfix versions.
* | Merge topic 'doc-3.2-relnotes'Brad King2015-02-0553-341/+283
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | d81bbc3f Help: Add 3.2 release note for AUTORCC dependency tracking 0f38d9c2 Help: Add 3.2 release notes for file(GENERATE) features 0f580e8e Help: Organize and revise 3.2 release notes e08a78dc Help: Consolidate 3.2 release notes 3a4381b6 Help: Add link target to cmake-language.7 encoding section
| * | Help: Add 3.2 release note for AUTORCC dependency trackingStephen Kelly2015-02-051-0/+4
| | |
| * | Help: Add 3.2 release notes for file(GENERATE) featuresStephen Kelly2015-02-051-0/+7
| | |