Commit Graph

6781 Commits

Author SHA1 Message Date
Brad King 3a883a9f7d Merge topic 'ninja-fortran'
33058150 Help: Document Ninja generator conditional Fortran support
59aae292 Ninja: Add dyndep rules for Fortran module dependencies
39ebfc79 Ninja: Add explicit preprocessing step for Fortran
9a77680e Ninja: Conditionally allow Fortran based on ninja 'dyndep' support
0f331d78 Ninja: Add internal tool to produce a ninja dyndep file for Fortran
d3e0b64b Ninja: Add internal tool to scan Fortran code for module dependencies
8eca59a1 Ninja: Add comment with Fortran dependency design documentation
a57d1bb7 Ninja: Add API to check for dyndep support
0488ae63 Ninja: Refactor ninja feature detection
f0a23aa3 Ninja: Refactor Fortran rejection logic
2016-09-23 08:40:16 -04:00
Brad King 961536dc85 Merge topic 'CheckFortranSourceCompiles-custom-ext'
4d3874d5 CheckFortranSourceCompiles: Add support for custom source extension
86d2e427 CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo
2016-09-23 08:40:13 -04:00
Brad King 4d3874d5ad CheckFortranSourceCompiles: Add support for custom source extension
Fortran compilers interpret the source extension to decide whether
to preprocess and what language level to use by default.
2016-09-22 14:49:54 -04:00
Brad King 86d2e4276d CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo 2016-09-22 14:47:34 -04:00
Brad King 39ebfc79e6 Ninja: Add explicit preprocessing step for Fortran
All Fortran sources need to be preprocessed before any source may be
compiled so that module dependencies can be (later) extracted.  Factor
out an explicit preprocessing step preceding compilation.  Use Ninja
depfile dependencies on the preprocessing step and then compile the
already-preprocessed source with a separate build statement that depends
explicitly only on the preprocessor output.  Later we will insert
dynamic discovery of module dependencies between these steps.
2016-09-22 13:53:09 -04:00
Brad King 0d8c5ba42a FindOpenSSL: Search in more-specific directories before less-specific
Since commit v3.6.0-rc1~182^2 (FindOpenSSL: Prefer libs early in search
path regardless of name, 2016-04-04) we use the `NAMES_PER_DIR` option
to `find_library` calls to consider all names in each directory before
moving on to the next directory.  Fix our library search directory
ordering to place more-specific (e.g. VC/) directories before the
general directories.  Otherwise they may never be considered.

Closes: #16320
2016-09-22 07:55:27 -04:00
Brad King 5c1ebec843 Merge topic 'cpack-rpm-policy-warnings'
edb3f6ee CPackRPM: Avoid CMP0007 warnings
2016-09-20 08:40:58 -04:00
Brad King 290d48ebc7 Merge topic 'cpack-rpm-srpm-package'
d9cec8ad CPack/RPM: Generate source rpm (SRPM) packages on demand
2016-09-20 08:40:55 -04:00
Brad King 9dc5bd9611 Merge topic 'cpack.hash_computing'
1c63aa4d CPack: Add option to generate a checksum file next to each package file
4682b42b Tests: Add subtest support to RunCMake/CPack infrastructure
2016-09-20 08:40:52 -04:00
Brad King 8d83c9d100 Merge topic 'ifw-package-resources'
b807cd9b CPackIFW: Add 'cpack_ifw_add_package_resources' command
2016-09-20 08:40:49 -04:00
Brad King 8b0f246694 Merge topic 'ExternalProject-HTTP_HEADER'
5e6716db Help: Add notes for topic 'ExternalProject-HTTP_HEADER'
0f424c3d ExternalProject: Add HTTP_HEADER
2016-09-20 08:40:45 -04:00
Brad King 6a9b30aea3 Merge topic 'cuda_use_cudadevrt_with_separable_compilation'
891e0ebd FindCUDA: find cudadevrt and link it if CUDA_SEPARABLE_COMPILATION is ON
2016-09-20 08:40:42 -04:00
Domen Vrankar edb3f6eee4 CPackRPM: Avoid CMP0007 warnings
For older versions of CMake minimum required version CMP0007 policy
warning was printed out.
2016-09-20 08:30:29 -04:00
Domen Vrankar d9cec8adca CPack/RPM: Generate source rpm (SRPM) packages on demand
Closes: #15839
2016-09-20 08:24:28 -04:00
Robert Maynard 891e0ebdce FindCUDA: find cudadevrt and link it if CUDA_SEPARABLE_COMPILATION is ON
Issue: #15157
Patch-by: l0calh05t on gitlab.kitware.com
2016-09-20 08:04:30 -04:00
Konstantin Podsvirov b807cd9b54 CPackIFW: Add 'cpack_ifw_add_package_resources' command 2016-09-19 13:17:59 -04:00
Petr Orlov 1c63aa4d43 CPack: Add option to generate a checksum file next to each package file
Add variable CPACK_PACKAGE_CHECKSUM to activate it.
2016-09-19 10:22:50 -04:00
Ruslan Baratov 0f424c3d07 ExternalProject: Add HTTP_HEADER 2016-09-19 16:05:12 +03:00
Brad King 31d63ac88c Merge topic 'doc-CPackIFW'
a327b206 CPackIFW: Format documentation
2016-09-19 08:55:15 -04:00
Brad King 34b49df564 Merge topic 'ifw-user-interfaces'
c2f0f41f CPackIFW: Add USER_INTERFACES option
2016-09-19 08:55:12 -04:00
Tamar Kranenburg 8dac3af03c FindPostgreSQL: Search for version 9.6 2016-09-18 16:39:18 +02:00
Tamar Kranenburg 84039a6aa2 FindPostgreSQL: Correct comment about known postgres versions 2016-09-18 16:39:18 +02:00
Brad King a327b20694 CPackIFW: Format documentation
Place command documentation in explicit markup blocks and remove
horizontal dividers.  Use definition lists and bullet lists as
appropriate.
2016-09-16 10:40:17 -04:00
Pierluigi Taddei c2f0f41f63 CPackIFW: Add USER_INTERFACES option
Add to CPackIFW the capability of accepting a list of
USER_INTERFACES that are copied to the meta folder and
added to the component description.
2016-09-16 10:29:00 -04:00
Brad King 3efb3c0012 Merge topic 'ExternalProject-http-credentials'
9cbd04be Help: Add notes for topic 'ExternalProject-http-credentials'
e1ca1173 ExternalProject: Add HTTP_{USERNAME,PASSWORD}
2016-09-16 10:21:11 -04:00
Brad King 7aa97b948f FeatureSummary: Add include() to examples
Since this module's documentation already includes complete usage
examples, make them more complete by showing the include() explicitly.

Issue: #16309
2016-09-15 11:34:34 -04:00
Brad King 46ded385c0 FeatureSummary: Format documentation
Revise the documentation using reStructuredText inline markup and
explicit blocks so that it formats well.
2016-09-15 11:33:24 -04:00
Brad King 5d17e99580 FeatureSummary: Convert docs to a bracket comment
Use a bracket comment to hold the documentation instead of a block of
line comments.  This will make further updates easier.
2016-09-15 09:50:32 -04:00
Brad King 7c92c84302 FeatureSummary: Order function implementations the same as the documentation 2016-09-15 09:49:03 -04:00
Brad King 6f31436c91 Merge topic 'extend_matlab_unit_test'
4ebb4ae6 FindMatlab: Extend matlab_add_unit_test to run arbitrary test code
2016-09-15 08:46:42 -04:00
Brad King 0b282335ab Merge topic 'fix-CMAKE_COMPILER_IS_GNU-confusion'
152bbe50 Modules: Fix typos in name of `CMAKE_COMPILER_IS_GNUCC` variable
a6d3f541 Help: Clarify documentation of CMAKE_COMPILER_IS_GNU{CC,CXX,G77}
2016-09-15 08:46:30 -04:00
Ruslan Baratov e1ca117332 ExternalProject: Add HTTP_{USERNAME,PASSWORD} 2016-09-15 07:52:54 +03:00
Bill Hoffman 4ebb4ae6cf FindMatlab: Extend matlab_add_unit_test to run arbitrary test code
Allow a custom matlab set of commands to be run as the test instead of
just `runtests('matlab_file_name')`.
2016-09-14 13:08:19 -04:00
Brad King 152bbe5068 Modules: Fix typos in name of `CMAKE_COMPILER_IS_GNUCC` variable
It is not called `CMAKE_COMPILER_IS_GNUC` (without last `C`).

Closes: #16297
2016-09-14 10:12:30 -04:00
Yen Chi Hsuan c31573b964 FindPython{Interp,Libs}: Add version 3.7 2016-09-14 09:13:15 -04:00
Brad King b3b238c3cc Merge topic 'bzip2-imported-targets'
79eba4b7 Help: Add notes for topic 'bzip2-imported-targets'
069cac58 Tests: Add FindBZip2 unit tests
e9ce0503 FindBZip2: Add imported target
2016-09-12 09:31:41 -04:00
Brad King f27f6f8f3f Merge topic 'wix-feature-patch'
c0bccc51 CPackWIX: Enabled patching of WIX <Feature> tags
2016-09-12 09:31:35 -04:00
Roger Leigh e9ce050342 FindBZip2: Add imported target 2016-09-09 11:42:34 -04:00
Michael Stürmer c0bccc51df CPackWIX: Enabled patching of WIX <Feature> tags 2016-09-09 13:03:57 +02:00
Brad King 258b7b2833 GetPrerequisites: Recognize absolute paths to UCRT system libraries
The matching expression added by commit v3.5.0-rc1~33^2
(GetPrerequisites: Define api-ms-win-* files as system libraries,
2016-01-19) did not account for absolute paths to the UCRT libraries.
We already recognize absolute paths to the MSVC runtime libraries.
Do this for UCRT libraries too.

Issue: #16240
2016-09-08 10:24:01 -04:00
Brad King 988b3806b6 Merge topic 'vs-15-generator'
bdc679a8 VS15: Add Visual Studio 15 generator
a8936656 VS: Update v140 flag tables from VS 15 MSBuild files
21346d3f Features: Record features for VS 15 Preview 4
2016-09-08 09:36:54 -04:00
Brad King f9973166e8 ExternalData: Tolerate files duplicated across multiple targets
If multiple ExternalData_Target_Add calls generate the same output file
then we need to avoid calling add_custom_command multiple times with
that output.  This was already done within a single target by setting a
variable in the local function scope.  This will not be visible in other
calls though so we need to use a directory property instead to prevent
adding a custom command multiple times for one output in a directory.

Normally it is not safe to have multiple custom commands that produce
the same output file across multiple independent targets, but since we
use atomic replacement of outputs the resulting races should not be a
problem.  For the convenience of projects, tolerate this instead of
diagnosing it.  In particular, we previously allowed up to two copies
of the custom command in one directory because CMake has a fallback
from MAIN_DEPENDENCY to an `<output>.rule` file.

While at it, add a note to the documentation that typically only one
external data target should be needed for a project.

Reported-by: David Manthey <david.manthey@kitware.com>
2016-09-07 15:17:33 -04:00
Brad King 7f7e5eafd8 Merge topic 'GNUInstallDirs-function'
17a24dc3 GNUInstallDirs: Add macro to expose internal logic publicly
2016-09-07 09:48:38 -04:00
Brad King 8665332513 Merge topic 'cpack-deb-package-description-fallback'
332b089a CPack/DEB: Make package description variable precedence match RPM
2016-09-07 09:48:35 -04:00
Brad King 48b33b0633 Merge topic 'FindMatlab-fix-empty-list-index'
29768b03 FindMatlab: Avoid indexing an empty list of versions
2016-09-07 09:48:17 -04:00
Roger Leigh 17a24dc3b9 GNUInstallDirs: Add macro to expose internal logic publicly 2016-09-07 09:40:41 -04:00
Domen Vrankar 332b089ad2 CPack/DEB: Make package description variable precedence match RPM
Make `CPACK_DEBIAN_PACKAGE_DESCRIPTION` fallback variable precedence
match CPackRPM behavior as much as possible.  This is technically a
breaking change, but the new behavior is more consistent with
expectation anyway.

Closes: #16272
2016-09-07 09:33:35 -04:00
Brad King 21346d3f12 Features: Record features for VS 15 Preview 4 2016-09-06 10:22:39 -04:00
Brad King 9109ba4347 Merge topic 'test-GenerateExportHeader-with-RunCMake'
72ecdd34 Tests: Cleanup RunCMake.GenerateExportHeader somewhat
fc3dab0e Tests: Port GenerateExportHeader test to RunCMake infrastructure
4feba34d GNU: Do not use -fvisibility on AIX or HP-UX
2016-09-06 08:51:01 -04:00
Brad King 29768b03ea FindMatlab: Avoid indexing an empty list of versions 2016-09-06 08:39:38 -04:00