summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'remove-c_str'Brad King2014-11-2526-59/+59
|\ | | | | | | | | 5eb4d759 Remove some unneeded c_str calls.
| * Remove some unneeded c_str calls.Stephen Kelly2014-11-2326-59/+59
| |
* | Merge topic 'fix-WCDH-docs'Brad King2014-11-251-1/+1
|\ \ | | | | | | | | | | | | 0db3db41 WCDH: Don't imply that MSVC is supported by the module.
| * | WCDH: Don't imply that MSVC is supported by the module.Stephen Kelly2014-11-231-1/+1
| | | | | | | | | | | | Remove the mention of it from the docs.
* | | Merge topic 'fortran-linker-flags'Brad King2014-11-253-5/+61
|\ \ \ | | | | | | | | | | | | | | | | 17b0fe03 Fix incremental linking setting for Fortran + VS
| * | | Fix incremental linking setting for Fortran + VSZack Galbreath2014-11-213-5/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a bug where it was impossible to specify /INCREMENTAL to Fortran projects built with Visual Studio. The problem was due to the fact that .vfproj files expect the value of this flag to be "linkIncremental{No,Yes}, whereas .vcproj files expect this value to be 0, 1, or 2. The implementation of this fix adds a new data structure for Visual Studio linker flags specific to Fortran. This can easily be extended in the future if more such discrepencies between C/C++ and Fortran linking are discovered.
* | | | Merge topic 'fix-GNU-CXX-dialect-versions'Brad King2014-11-251-4/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | c03c184b Features: Record C++11 dialect switch only for GNU 4.7 and later.
| * | | | Features: Record C++11 dialect switch only for GNU 4.7 and later.Stephen Kelly2014-11-191-4/+3
| | |/ / | |/| | | | | | | | | | | | | | Previous versions of GNU are not currently supported by this CMake feature.
* | | | Merge topic 'default-lang-dialect-for-master'Brad King2014-11-257-47/+113
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f327a9fd Merge branch 'default-lang-dialect' into step2 36bb100e Fix the test for running the CxxDialog unit test. a3d0ae17 Features: Fix the default C dialect for Clang and GNU. 49e2b689 Features: Fix references to CXX compiler version in Clang-C.cmake. 7565ab2c Features: Test the CXX compiler only if it has features.
| * \ \ \ Merge branch 'default-lang-dialect' into step2Stephen Kelly2014-11-207-47/+113
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Modules/Compiler/Clang-C.cmake
| | * | | | Fix the test for running the CxxDialog unit test.Stephen Kelly2014-11-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing versions have been used since commit v3.1.0-rc1~635^2~8 (cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties., 2013-10-13), but further discussions since then increased the initial minimum compiler versions this feature is available for.
| | * | | | Features: Fix the default C dialect for Clang and GNU.Stephen Kelly2014-11-206-15/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang 3.4 uses C99 by default, and Clang 3.6 uses C11 by default: http://thread.gmane.org/gmane.comp.compilers.clang.devel/39379 GNU 4.9 uses C90 by default, and GNU 5.0 uses C11 by default: https://gcc.gnu.org/gcc-5/changes.html Test that the default compiler settings result in the expected dialect macros being defined for both C and CXX. Remove the unused main.c file from the CompileFeatures unit test.
| | * | | | Features: Fix references to CXX compiler version in Clang-C.cmake.Stephen Kelly2014-11-181-2/+2
| | | | | |
| | * | | | Features: Test the CXX compiler only if it has features.Stephen Kelly2014-11-181-28/+30
| | |/ / / | | | | | | | | | | | | | | | | | | | | If using different C and CXX compilers, we might not have a feature-full CXX compiler at this point.
* | | | | Merge topic 'cmTarget-null_ptr-everywhere'Brad King2014-11-251-19/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 32a191ce cmTarget: Use null_ptr code path on all platforms
| * | | | | cmTarget: Use null_ptr code path on all platformsBrad King2014-11-201-19/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | This reduces conversions asked of the compiler. Also drop 'static' from the declaration of the local null_ptr helper.
* | | | | Merge topic 'fix-openmp-fortran'Brad King2014-11-251-5/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7d633ebf FindOpenMP: Use fixed form Fortran test program
| * | | | | FindOpenMP: Use fixed form Fortran test programNils Gladitz2014-11-201-5/+5
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | This prevents the test program from failing when build as Fortran 77. Suggested-by: Alin Marin Elena <alinm.elena@gmail.com>
* | | | | Merge topic 'file-GENERATE-rerun'Brad King2014-11-255-0/+40
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 26e98c34 file(GENERATE): Re-run cmake when appropriate.
| * | | | | file(GENERATE): Re-run cmake when appropriate.Stephen Kelly2014-11-185-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-run if the input file changes or if the output file is removed. This only works with the Makefile generators currently. The limitation of the Ninja generator is tracked as issue #15256. The IDE generators will need larger refactoring as they currently rely on being able to determine the depends and output files at the start of generate-time, which is too early for the file(GENERATE) case.
* | | | | | Merge topic 'clean-autogen'Brad King2014-11-251-4/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3bd59b60 QtAutogen: Use cmHasLiteral{Prefix,Suffix} where possible. bf00f528 QtAutogen: Don't take a reference to temporary.
| * | | | | | QtAutogen: Use cmHasLiteral{Prefix,Suffix} where possible.Stephen Kelly2014-11-181-3/+3
| | | | | | |
| * | | | | | QtAutogen: Don't take a reference to temporary.Stephen Kelly2014-11-181-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | While a const reference to a temporary is standard conformant, it doesn't seem to be necessary or advantageous here.
* | | | | | Merge topic 'ccmake-hpux'Brad King2014-11-257-64/+15
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7a687292 ccmake: Cleanup and simplify conditional blocks for HP-UX 44f02b42 ccmake: Use standard getmaxyx instead of non-standard getmax[xy] ee3d06a4 ccmake: Remove incomplete support for cur_colr on old HP-UX
| * | | | | | ccmake: Cleanup and simplify conditional blocks for HP-UXÅdne Hovda2014-11-185-42/+13
| | | | | | |
| * | | | | | ccmake: Use standard getmaxyx instead of non-standard getmax[xy]Ådne Hovda2014-11-183-22/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Swap out getmax[xy]() calls for single call to getmaxyx(), to support strict X/Open conformant curses implementations, e.g. HP-UX Xcurses.
| * | | | | | ccmake: Remove incomplete support for cur_colr on old HP-UXÅdne Hovda2014-11-181-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | Enable support for the more modern Xcurses.
* | | | | | Merge topic 'CPackRPM-cleanup-component-vars'Brad King2014-11-251-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 51a60973 CPackRPM: Unset temporary component variables before re-use
| * | | | | | CPackRPM: Unset temporary component variables before re-useGauthier Lamaison2014-11-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the fix from commit v2.8.9~136^2 (CPackRPM: avoid leakage of RPM directive from one component to another, 2012-06-05) to clean up more temporary variables. Reviewed-by: Domen Vrankar <domen.vrankar@gmail.com>
* | | | | | | Merge topic 'custom-command-byproducts'Brad King2014-11-2546-30/+469
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 557aef0b ExternalProject: Add options to specify BYPRODUCTS (#14963) e15a7075 Add an option for explicit BYPRODUCTS of custom commands (#14963)
| * | | | | | | ExternalProject: Add options to specify BYPRODUCTS (#14963)Brad King2014-11-175-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The external project's build process may generate byproducts on which other rules in the driving project's build later depend. Provide a way for the driving project to specify what byproducts it expects to be made available by the custom commands that drive the external project.
| * | | | | | | Add an option for explicit BYPRODUCTS of custom commands (#14963)Brad King2014-11-1443-30/+425
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A common idiom in CMake-based build systems is to have custom commands that generate files not listed explicitly as outputs so that these files do not have to be newer than the inputs. The file modification times of such "byproducts" are updated only when their content changes. Then other build rules can depend on the byproducts explicitly so that their dependents rebuild when the content of the original byproducts really does change. This "undeclared byproduct" approach is necessary for Makefile, VS, and Xcode build tools because if a byproduct were listed as an output of a rule then the rule would always rerun when the input is newer than the byproduct but the byproduct may never be updated. Ninja solves this problem by offering a 'restat' feature to check whether an output was really modified after running a rule and tracking the fact that it is up to date separately from its timestamp. However, Ninja also stats all dependencies up front and will only restat files that are listed as outputs of rules with the 'restat' option enabled. Therefore an undeclared byproduct that does not exist at the start of the build will be considered missing and the build will fail even if other dependencies would cause the byproduct to be available before its dependents build. CMake works around this limitation by adding 'phony' build rules for custom command dependencies in the build tree that do not have any explicit specification of what produces them. This is not optimal because it prevents Ninja from reporting an error when an input to a rule really is missing. A better approach is to allow projects to explicitly specify the byproducts of their custom commands so that no phony rules are needed for them. In order to work with the non-Ninja generators, the byproducts must be known separately from the outputs. Add a new "BYPRODUCTS" option to the add_custom_command and add_custom_target commands to specify byproducts explicitly. Teach the Ninja generator to specify byproducts as outputs of the custom commands. In the case of POST_BUILD, PRE_LINK, and PRE_BUILD events on targets that link, the byproducts must be specified as outputs of the link rule that runs the commands. Activate 'restat' for such rules so that Ninja knows it needs to check the byproducts, but not for link rules that have no byproducts.
* | | | | | | | CMake Nightly Date StampKitware Robot2014-11-251-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2014-11-241-1/+1
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2014-11-231-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2014-11-221-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2014-11-211-1/+1
| |_|_|_|/ / |/| | | | |
* | | | | | Merge topic 'fix-CMP0054-MSVC'Brad King2014-11-205-11/+11
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fa1a066a Merge branch 'backport-fix-CMP0054-MSVC' into fix-CMP0054-MSVC 4d52cd36 Avoid if() quoted auto-dereference when checking for "MSVC" 543c4304 Avoid if() quoted auto-dereference when checking for "MSVC"
| * \ \ \ \ \ Merge branch 'backport-fix-CMP0054-MSVC' into fix-CMP0054-MSVCBrad King2014-11-190-0/+0
| |\ \ \ \ \ \
| | * | | | | | Avoid if() quoted auto-dereference when checking for "MSVC"Fraser Hutchison2014-11-195-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When testing CMAKE_<LANG>_COMPILER_ID values against "MSVC", do not allow the definition of the "MSVC" variable to be expanded.
| * | | | | | | Avoid if() quoted auto-dereference when checking for "MSVC"Fraser Hutchison2014-11-195-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When testing CMAKE_<LANG>_COMPILER_ID values against "MSVC", do not allow the definition of the "MSVC" variable to be expanded.
* | | | | | | | Merge topic 'FindJava-no-osx-stub'Brad King2014-11-201-1/+4
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd378258 FindJava: Do not accept OS X stub 'java' as Java
| * | | | | | | | FindJava: Do not accept OS X stub 'java' as JavaBrad King2014-11-191-1/+4
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OS X provides a stub 'java' to inform callers that Java is not present. When checking the 'java -version' output, look for such a message and if found pretend 'java' was not found. Suggested-by: Sean McBride <sean@rogue-research.com>
* | | | | | | | CMake Nightly Date StampKitware Robot2014-11-201-1/+1
| |/ / / / / / |/| | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2014-11-191-1/+1
| |_|_|/ / / |/| | | | |
* | | | | | Merge topic 'vs-check-phone-store-tools'Brad King2014-11-187-35/+242
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 689cd0d4 VS: Do not produce WinMD file for OBJECT libraries (#15228) b20a32ac VS: Improve error messages when compiler is not detected (#15228)
| * | | | | | VS: Do not produce WinMD file for OBJECT libraries (#15228)Gilles Khouzam2014-11-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are implemented as static libraries for the IDE so treat them the same.
| * | | | | | VS: Improve error messages when compiler is not detected (#15228)Gilles Khouzam2014-11-146-34/+240
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake requires both the Desktop SDK and the correct platform SDK (Windows Phone or Windows Store) to be installed when targeting the Windows mobile platforms. Verify that the right platform components are installed and give a more detailed error message when something is wrong.
* | | | | | Merge topic 'update-curl'Brad King2014-11-181-9/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46bbf947 curl: Check for OpenSSL headers independently
| * | | | | | curl: Check for OpenSSL headers independentlyBrad King2014-11-171-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use check_include_file instead of check_include_file_concat to look for OpenSSL headers. They do not need to participate in a sequence of dependent system headers. Also they may cause winsock.h to be included before ws2tcpip.h, causing the latter to not be detected in the sequence.