summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Factor an <INCLUDES> placeholder out of <FLAGS> in rule variablesBrad King2015-07-1338-72/+72
| | | | | | | | | | | Teach the Makefile and Ninja generators to substitute for an <INCLUDES> placeholder instead of putting -I in <FLAGS>. Update our values for CMAKE_<LANG>_COMPILE_OBJECT, CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE to place <INCLUDES> just before <FLAGS>.
* Place <DEFINES> before <FLAGS> consistently across compilersBrad King2015-07-136-12/+12
| | | | | | | | | | | | Update our values for CMAKE_<LANG>_COMPILE_OBJECT, CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE to place <DEFINES> before <FLAGS> consistently across supported compilers. We already do this for most compilers, so update the rest for consistency.
* Merge topic 'FindMPI-Intel-5'Brad King2015-07-131-1/+1
|\ | | | | | | | | cfd23d3f FindMPI: Extend Intel-MPI 5+ workaround for recent GCCs
| * FindMPI: Extend Intel-MPI 5+ workaround for recent GCCsSean Brennan2015-07-101-1/+1
| | | | | | | | | | | | Extend the workaround added by commit v3.2.0-rc1~278^2 (FindMPI: Workaround Intel MPI 5.0.1 exit code problem, 2014-12-04) with an additional/alternate keyword to recognize the case with recent GCCs.
* | Merge topic 'FindIce-imported-targets'Brad King2015-07-101-0/+15
|\ \ | | | | | | | | | | | | | | | | | | 889b22e2 Help: Add notes for topic 'FindIce-imported-targets' cd4d2e9c FindIce: document imported targets 748f1eae FindIce: create imported targets for components
| * | FindIce: document imported targetsRoger Leigh2015-07-091-0/+7
| | |
| * | FindIce: create imported targets for componentsDaniel Pfeifer2015-07-091-0/+8
| | |
* | | Merge topic 'compiler-feature-AppleClang-std-flags'Brad King2015-07-101-1/+4
|\ \ \ | | | | | | | | | | | | | | | | 228643af AppleClang: Use modern C++14 standard flags for Apple Clang 6.1
| * | | AppleClang: Use modern C++14 standard flags for Apple Clang 6.1Brad King2015-07-091-1/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | The Apple Clang 6.1 compiler that comes with Xcode 6.3 is aware of the modern -std=c++14 and -std=gnu++14 flags, so use them instead of the "1y" flags. Suggested-by: darkapostle@rule506.net
* | | Merge topic 'FindXercesC-versioned-library'Brad King2015-07-091-1/+1
|\ \ \ | | | | | | | | | | | | | | | | d3d4d627 FindXercesC: Find versioned library on Windows
| * | | FindXercesC: Find versioned library on WindowsRoger Leigh2015-07-081-1/+1
| |/ /
* | | Merge topic 'CheckCompilerFlag-do-not-use-FLAGS'Brad King2015-07-093-12/+12
|\ \ \ | |/ / |/| | | | | | | | a639689c Check*CompilerFlag: Revert to previous method used to pass flags (#15641)
| * | Check*CompilerFlag: Revert to previous method used to pass flags (#15641)Brad King2015-07-083-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.3.0-rc1~397^2 (Check*CompilerFlag: Refactor method used to pass flags, 2015-02-24) these check modules pass the flags to the compiler front-end during linking as well as during compilation. This breaks checks for flags like '-x c++' that are meant only for the compilation step. Revert the change and add a test covering a compiler-only flag.
* | | Merge topic 'add-apple-swift-language'Brad King2015-07-085-0/+115
|\ \ \ | | | | | | | | | | | | | | | | bf112531 Add rudimentary support for the Apple Swift language with Xcode
| * | | Add rudimentary support for the Apple Swift language with XcodeBrad King2015-07-065-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the `Swift` language to be enabled with the Xcode generator for Xcode >= 6.1. Reject it on other generators and with older Xcode versions. Since Apple is the only vendor implementing the language right now, the compiler id can be just `Apple`.
* | | | Merge topic 'auto_export_dll_symbols'Brad King2015-07-081-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8f86407c Windows: Optionally generate DLL module definition files automatically 069aa93b bindexplib: Add support for "/bigobj" format objects 61bbbdcf bindexplib: Fix treatment of some symbols de70c922 bindexplib: Teach DumpFile to return errors 8ea69dfe bindexplib: Build source as part of CMakeLib 2963cb2a bindexplib: Wrap long lines 4ff09893 bindexplib: Drop code that CMake does not need 7de8276c bindexplib: Add copyright/license notice block 65086ad7 bindexplib: Import original implementation from CERN
| * | | | Windows: Optionally generate DLL module definition files automaticallyBill Hoffman2015-07-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create target property WINDOWS_EXPORT_ALL_SYMBOLS to automatically generate a module definition file from MS-compatible .obj files and give it to the linker in order to export all symbols from the .dll part of a SHARED library.
* | | | | Merge topic 'ExternalProject-USES_TERMINAL'Brad King2015-07-071-0/+83
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | e4947639 ExternalProject: Added new USES_TERMINAL options
| * | | | | ExternalProject: Added new USES_TERMINAL optionsJames Johnston2015-07-061-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new USES_TERMINAL option to the ExternalProject_Add_Step function. This option passes USES_TERMINAL to the underlying add_custom_command call so that the Ninja console pool is used. Also, corresponding new USES_TERMINAL_<step> options were added to the ExternalProject_Add function. Justification: if using Ninja with a CMake superbuild, it's often desirable to limit the superbuild to ONE sub-Ninja process at a time to avoid oversubscribing the CPU. Using the console pool also makes it easy to monitor the progress of the sub-Ninja process. Independent USES_TERMINAL_<step> arguments are passed to ExternalProject_Add instead of one USES_TERMINAL argument that controls everything. Users may wish to run some steps in parallel but not others (e.g. parallelize configure but not build).
* | | | | | Merge topic 'osx-pythondotorg-libs'Brad King2015-07-071-7/+32
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | 02fd0356 FindPythonLibs: Find the python.org libraries (#14809)
| * | | | | FindPythonLibs: Find the python.org libraries (#14809)Matt McCormick2015-07-061-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Address the test case cmake_minimum_required(VERSION 2.8) set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6) find_package(PythonLibs 3 REQUIRED) with a Python 3.4.x .pkg installed from python.org on OSX. Temporarily set CMAKE_FIND_FRAMEWORK to LAST to avoid finding the system Python.h prematurely. Add directories inside the frameworks to the search list for the library as is done for the header.
| * | | | | Merge branch 'doc-CheckIncludeFile-distinction' into releaseBrad King2015-06-253-48/+56
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'revert-mingw-no-find_library-dll' into releaseBrad King2015-06-081-1/+1
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'FindwxWidgets-versioned-executable' into releaseBrad King2015-06-081-1/+2
| |\ \ \ \ \ \ \
* | \ \ \ \ \ \ \ Merge topic 'xlc-no-qalias-flag'Brad King2015-07-062-4/+2
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | a33fb493 XL: Drop -qalias=noansi from default C flags
| * | | | | | | | XL: Drop -qalias=noansi from default C flagsBrad King2015-07-022-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was added without explanation by commit v2.8.2~1138 (Add initial XL C compiler flags for safer builds, 2009-09-30). It is not consistent with our default C++ flags for XL and disables several optimizations, so drop it from our default flags for C. Suggested-by: Todd Gamblin <tgamblin@llnl.gov>
* | | | | | | | | Merge topic 'ctest-test-load'Brad King2015-07-021-0/+4
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f62d301b ctest: Optionally avoid starting tests that may exceed a given CPU load 07c550ca cmCTestMultiProcessHandler: Refactor RUN_SERIAL implementation 8bf5a80b cmSystemTools: Add StringToULong helper dffc307c Tests: Teach RunCMake infrastructure to optionally timeout
| * | | | | | | | ctest: Optionally avoid starting tests that may exceed a given CPU loadBetsy McPhail2015-06-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a TestLoad setting to CTest that can be set via a new --test-load command-line option, CTEST_TEST_LOAD variable, or TEST_LOAD option to the ctest_test command. Teach cmCTestMultiProcessHandler to measure the CPU load and avoid starting tests that may take more than the spare load currently available. The expression <current_load> + <test_processors> <= <max-load> must be true to start a new test. Co-Author: Zack Galbreath <zack.galbreath@kitware.com>
* | | | | | | | | CMakeDetermineCompilerId: Use per-language regex to match Xcode compiler toolBrad King2015-06-304-9/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the Ld invocation match expression from CMakeDetermineCompilerId into CMakeDetermine{C,CXX,Fortran}Compiler so that it can be specified on a per-language basis.
* | | | | | | | | Merge topic 'compiler-id-simplify-ide-src'Brad King2015-06-291-2/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8306108f CMakeDetermineCompilerId: Simplify src reference in IDE projects
| * | | | | | | | | CMakeDetermineCompilerId: Simplify src reference in IDE projectsBrad King2015-06-251-2/+2
| | |_|_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When constructing the "id_src" value for substitution into VS or Xcode compiler id projects, the input "src" variable already contains the file name with no path so we do not need get_filename_component. We know this because CMAKE_DETERMINE_COMPILER_ID_WRITE already references "${src}" with this assumption.
* | | | | | | | | Merge topic 'vs-librarian-machine-flag-default'Brad King2015-06-291-0/+1
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 806609c7 VS: Add /machine: flag to Librarian tool (#11240)
| * | | | | | | | | VS: Add /machine: flag to Librarian tool (#11240)Brad King2015-06-261-0/+1
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a Windows resource (.rc) source file is included in a STATIC library, the VS "link" tool will process the compiled ".res" file and needs to know the target architecture. Without it, we may get a LNK4068 warning and possibly a LNK1112 error. Add /machine: to the default static library flags to give the link tool the information it needs.
* | | | | | | | | Merge topic 'FindMatlab-doc-section-headers'Brad King2015-06-291-8/+8
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 6524ed5e FindMatlab: Fix documentation section header underline style
| * | | | | | | | FindMatlab: Fix documentation section header underline styleTamas Kenez2015-06-291-8/+8
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace caret-headers with double-quote-headers and replace dash-headers with caret-headers. This makes the headers match their level of nesting according to our documentation style guide in cmake-developers(7).
* | | | | | | | Merge topic 'doc-CheckIncludeFile-distinction'Brad King2015-06-253-48/+56
|\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | 81d58b0d Help: Revise CheckIncludeFile* documentation
| * | | | | | | Help: Revise CheckIncludeFile* documentationBrad King2015-06-253-48/+56
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve formatting. Link from each module to the other two. Explain the command signatures in more detail.
* | | | | | | FindIce: Find all Ice executablesRoger Leigh2015-06-231-3/+111
| | | | | | |
* | | | | | | FindIce: Update for Ice version 3.6.0Roger Leigh2015-06-231-0/+5
| |/ / / / / |/| | | | |
* | | | | | Merge topic 'GNUInstallDirs-special-prefixes'Brad King2015-06-191-3/+70
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8bcec4d2 Help: Add notes for topic 'GNUInstallDirs-special-prefixes' c8bd37ec GNUInstallDirs: Add special cases for certain prefixes 5f30f175 GNUInstallDirs: Add test cases
| * | | | | | GNUInstallDirs: Add special cases for certain prefixesAlex Turbov2015-06-181-3/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the module to handle SYSCONFDIR and LOCALSTATEDIR properly if CMAKE_INSTALL_PREFIX is set to `/` or `/usr` -- i.e. as expected by GNU Coding Standard (i.e. set SYSCONFDIR to `/etc` and `LOCALSTATEDIR` to `/var`). Also if CMAKE_INSTALL_PREFIX is set to /opt/pkg, `SYSCONFDIR` must be set to `/etc/opt/pkg` and `LOCALSTATEDIR` to `/var/opt/pkg` according to FHS.
* | | | | | | Merge topic 'ConcurrentFortran-compiler-id'Brad King2015-06-196-6/+40
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 54676a0e Help: Add notes for topic 'ConcurrentFortran-compiler-id' 7cd539b1 Add support for Concurrent Fortran 77 Compiler 0d204c1c CMakeDetermineCompilerId: Try matching compiler output to detect id 5f0dad75 CMakeDetermineCompilerId: Refactor id build/check loop logic c65a060e CMakeDetermineCompilerId: Optionally try some flags before no flags
| * | | | | | | Add support for Concurrent Fortran 77 CompilerBrad King2015-06-183-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Concurrent Fortran compiler (ccur.com) is available on Linux and can be used much like the GNU Fortran compiler. Currently it has no preprocessor symbols to identify it so we need to detect it by matching compiler output. Suggested-by: Anthony Ette <Anthony.R.Ette@controlsdata.com>
| * | | | | | | CMakeDetermineCompilerId: Try matching compiler output to detect idBrad King2015-06-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some compilers can only be distinguished by their compilation output rather than preprocessor symbols or special flags. Add infrastructure to determine the compiler id by matching output.
| * | | | | | | CMakeDetermineCompilerId: Refactor id build/check loop logicBrad King2015-06-181-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Callers of CMAKE_DETERMINE_COMPILER_ID initialize the CMAKE_${lang}_COMPILER_ID to unset so we can check it at the end of each loop iteration instead of the beginning. This approach allows us to break out of the loop as soon as we succeed. It will also allow checks to be added in more places within the loop later.
| * | | | | | | CMakeDetermineCompilerId: Optionally try some flags before no flagsBrad King2015-06-184-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach CMAKE_DETERMINE_COMPILER_ID to optionally try detecting the compiler id using some given flags before trying to detect it with no special flags. This will be useful for Fortran detection to distinguish some compilers that use the preprocessors of others but have no macro of their own by getting verbose output.
* | | | | | | | Embarcadero: Run at most one linker invocation at a time (#15620)James Johnston2015-06-181-0/+6
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least some versions (e.g. C++ Builder 5) of the bcc32 linker are known to write temporary files with a constant name to the current directory (e.g. "turboc.$ln"). (This can be verified by using Process Monitor to watch the file writes that bcc32 / ilink32 / implib make). This causes problems with some generators that keep a constant current directory and run concurrent linkers. For example, the Ninja generator, by default, always has the current directory set to the top of the build tree - resulting in conflicts between the linkers that are simultaneously trying to write to "turboc.$ln". Symptoms include direct errors regarding the "turboc.$ln" file, or later build steps failing due to corrupted output from previous links that happened to link "successfully." This is not a problem for the Borland Makefiles generator which does not run jobs in parallel. For the Ninja generator, work around this problem by using a link job pool of size 1.
* | | | | | | Merge topic 'linux-GNU-Fortran-no-rdynamic'Brad King2015-06-181-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f43defae GNU: Drop -rdynamic flag from Fortran
| * | | | | | | GNU: Drop -rdynamic flag from FortranBrad King2015-06-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GNU Fortran compiler does not document support for this flag as the GNU C and C++ compilers do.
* | | | | | | | Merge topic 'GNUInstallDirs-doc-format'Brad King2015-06-181-27/+32
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| / / / / / / | |/ / / / / / | | | | | | | 1199ebf1 GNUInstallDirs: Improve documentation formatting