summaryrefslogtreecommitdiffstats
path: root/Modules/Internal
Commit message (Collapse)AuthorAgeFilesLines
* CPackDeb: Use `CPACK_PACKAGE_DESCRIPTION_FILE`Alex Turbov2019-09-211-16/+104
| | | | Also, handle per-component description nicely.
* Refactor: Use `list` commands instead of old-way string opsAlex Turbov2019-09-211-31/+20
|
* Style: Remove spaces after command call and `(`Alex Turbov2019-09-081-8/+8
|
* CPack/STGZ: Require explicit acceptance or refusal of licensesidju2019-08-231-9/+13
| | | | | | | | To make using the generated STGZ easier, require a specific answer to accepting the license terms. Since more moves down one line when '\n' is entered a user may hold enter to paginate through the document. This change prevents the user from accidentally refusing the license terms by holding enter for too long and having to start over.
* Refactor: Move CPack internal files to `Internal/CPack/` directoryAlex Turbov2019-07-0917-1/+1427
| | | | | | | | Some commits ago all CPack internal `*.cmake` files have been moved to `Internal/CPack/`. This commit also move some templates internally used by generators to the same location to make `Modules/` directory less noisy w/ files the end users don't need to use/see.
* CPack: Fix SONAME regex in DEB generatorKyle Edwards2019-06-121-1/+1
| | | | | | | | | The DEB generator was written to parse output from GNU readelf. However, LLVM's readelf has a slightly different output format, without parentheses around the word "SONAME". Update the regex to account for this difference. Fixes: #19362
* CPack/NuGet: Find nuget tool on case sensitive file systemMathieu Malaterre2019-06-051-1/+1
| | | | | | | There is no need to use a CamelCase executable name since it will be handled gracefully on Windows anyway. This change allow support for Linux system, in particular Debian distribution where the binary is called `nuget`.
* CPackRPM: Hide CPACK_RPM_ROOTDIR debug if not CPACK_RPM_PACKAGE_DEBUGHarry Mallon2019-04-301-1/+3
|
* CompileFeatures: memoize C++ compilers with full language level supportRobert Maynard2019-04-091-0/+4
| | | | | | | Previously compilers that had full support for a language standard level were still verified every time a new build directory was created. Now we record this information and insert the correct granular compile features instead of doing a `try_compile`.
* CompileFeatures: memoize C compilers with full language level supportRobert Maynard2019-03-271-0/+11
| | | | | | | Previously compilers that had full support for a language standard level was forced to verify this every time a new build directory was created. Now we record this information and insert the correct granular compile features instead of doing a try_compile.
* CompileFeatures: Don't try_compile for language levels with no featuresRobert Maynard2019-03-201-2/+12
| | | | | | Previously Compilers always had to run a try_compile to determine what language level each feature mapped to. Now we can skip the try_compile when a language level has no features.
* CPackRPM: Fix packaging in folders with ++ in nameHarry Mallon2019-02-251-1/+8
| | | | | | | Construct a regex that can match a path with special characters instead of treating the path as a regex directly. Fixes: #18967
* PIE link options: Update strategy to fix performance regressionMarc Chevrier2018-12-191-7/+19
| | | | Fixes: #18700
* CPack/Deb: Remove paxr as a supported tar format for a .debGuillem Jover2018-11-281-3/+6
| | | | | | | | | The only format supported from the ones available within cpack is gnutar, which supports large numbers encoded in base-256, and long filenames and linknames. PAX is not and has never been a supported format by dpkg. Fixes: #18620
* POSITION_INDEPENDENT_CODE: Manage link flags for executablesMarc Chevrier2018-11-111-0/+146
| | | | Fixes: #14983, #16561
* CPack: Rename Ext generator to ExternalCraig Scott2018-11-051-11/+11
| | | | | Ext and External were used inconsistently in the code and the docs. This change converts all uses of Ext to External, including within variable names used by the generator.
* Fix misc. typosluz.paz2018-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found via `codespell -q 3 -I ../cmake-whitelist.txt --skip="./Utilities"` where the whitelist consists of ``` aci ans behaviour buil convertor dum earch ect emmited emmitted helpfull iff isnt ith lowercased mose nd nknown nto objext ot pathes pevents splitted substract superceded supercedes te tim todays uint upto whitespaces ```
* CPack/Deb: Add ability to split out debug symbols into .ddeb packageAndrew Fuller2018-09-211-4/+96
|
* CPack/Deb: Use CMAKE_COMMAND to set the environmentAndrew Fuller2018-09-181-3/+3
|
* IN_LIST: Ensure policy allows if(IN_LIST) if used by a moduleCraig Scott2018-09-122-0/+10
|
* CPack: Add "CPack External" generatorKyle Edwards2018-07-021-0/+53
| | | | | | | | This generator doesn't actually package the files. Instead, it provides a metadata JSON file that can be used by external packaging software to do its own packaging. This JSON file provides information about the components, component groups, installation types, and CMake projects.
* CPack/RPM: Use CMAKE_COMMAND to reference cmake executableDaniel Wyatt2018-06-261-1/+1
| | | | | | | Ensure we use the `cmake` corresponding to the running `cpack` even if it is not first in `PATH` or has had its name changed. This was accidentally left out in commit v3.7.0-rc1~81^2 (CPack/RPM: Generate source rpm (SRPM) packages on demand, 2016-09-19).
* CPack: Move internal implementation modules into Internal/CPack directoryKyle Edwards2018-06-216-0/+2968
| | | | | | | | | | | | | | | These modules are not meant to be included by user code, they are only an internal implementation detail for CPack. Having them live in the main Modules directory with documentation was misleading, so they have been moved into Modules/Internal/CPack, and their documentation has been stripped following its move into the new "CPack Generators" section. No-op modules which contained only documentation have been removed entirely. The only module that hasn't been moved is CPackIFW, because it contains user-facing macros which would be lost if it were moved. So, the CPackIFW module has been updated with a note explaining what needs to (eventually) happen.
* Features: On SunPro link feature check with lang std flagBrad King2017-05-091-0/+10
| | | | | | | Follow up commit e17b179184 (Features: On SunPro link with language standard compiler flag, 2017-04-28) to apply the same fix to the feature checks. The `try_compile` used for these is intentionally not using `CXX_STANDARD`-based logic so that it can test the individual flags.
* Features: Add meta-features requesting awareness of a particular standardBrad King2016-11-021-0/+2
| | | | | | | | | | A common use case of `target_compile_features` is simply to specify that the compiler should be run in a mode that is aware of e.g. C++11. Some projects simply specify a particular C++11-only feature to request this. Provide a first-class way to do this by naming features after the corresponding language standard. Record them as always available in the corresponding standard level so that requesting them always ensures that standard (or higher) is used.
* Features: Centralize per-compiler recording macrosBrad King2016-11-021-1/+9
| | | | | Simplify and de-duplicate per-compiler feature recording macros and convert to a centralized per-language macro.
* Features: Extract strings from test binary more reliably (#15736)Brad King2015-09-101-1/+1
| | | | | | | | | | Since commit v3.1.0-rc1~635^2~7 (project: Add infrastructure for recording CXX compiler features, 2013-10-17) we compile a test source to a binary and then extract "<LANG>_FEATURES:..." strings from the binary with the file(STRINGS) command. Add a newline at the beginning of the string literal to be sure file(STRINGS) can extract the first entry as a string independent of whatever else the compiler may put before the storage it allocates for the literal within the binary.
* Features: Use the features symbol in the feature-test compile.Stephen Kelly2014-05-151-1/+1
| | | | | | | | | | Clang discards the entire string if it is not used, removing the ability to read the features from the compiled binary. That is prevented by using the symbol. GNU with -O3 also discards the string, so use the string in a way which is determined by a runtime value (argc) to prevent it being discarded.
* Project: Use nullary form of main for compile feature tests.Stephen Kelly2014-05-071-1/+1
|
* Project: Remove extern from static string in feature tests.Stephen Kelly2014-05-071-1/+1
|
* Features: Make CMAKE_CXX_KNOWN_FEATURES a property.Stephen Kelly2014-05-021-1/+4
| | | | | As a 'built-in' variable it imposes a cost on all variable lookups and it is expected to be rarely used.
* project: Add infrastructure for recording CXX compiler featuresStephen Kelly2014-04-071-0/+57
Add a feature test using the compiler macros and the preprocessor to determine available features. Add a CMAKE_CXX_COMPILE_FEATURES variable which contains all features known to the loaded compiler, and a CMAKE_CXX_KNOWN_FEATURES variable containing all features known to CMake. Add language standard specific variables for internal use to determine the standard-specific compile flags to use. This will be extended to other languages in the future. Follow-up commits will add features which will be recorded by the feature test.