summaryrefslogtreecommitdiffstats
path: root/Modules/Internal
Commit message (Collapse)AuthorAgeFilesLines
* FindCUDAToolkit: Re-unify with Internal/CUDAToolkitRaul Tambre2020-06-121-227/+0
| | | | | | | | | | | | | | | | A portion of FindCUDAToolkit was previously split in commit dc2eae1f (FindCUDAToolkit: Factor out discovery code into a separate file, 2020-04-22) out into Internal/CUDAToolkit to allow re-use of the code in CMakeDetermineCUDACompiler for Clang support. This has turned out to be a bad solution due to Clang requiring quite a bit of special handling and special handling for NVCC leaking out from Internal/CUDAToolkit into the Clang code using it. Thus it seems better to re-unify this code and duplicate the parts of the code necessary for Clang where it's required. This will help us get logic correct for both NVCC and CUDA handling. We can still unify the common parts in the future once the code has matured.
* Merge topic 'fix-cpack-deb-generating-empty-paragraph'Brad King2020-05-281-0/+10
|\ | | | | | | | | | | | | 6ba842163c CPack-deb: don't add a line with a dot to pkg desc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4806
| * CPack-deb: don't add a line with a dot to pkg descJonathan Verner2020-05-271-0/+10
| | | | | | | | | | | | | | | | | | | | | | Currently, if the package description ends with a newline (typically if it is read from a file) cpack -deb adds a single line with a dot at the end which leads to a violation of the `extended-description-contains-empty-paragraph` debian policy. This commit fixes the above behaviour. Fixes: #20763
* | CUDA: Check for lib/x64 library directory in Internal/CUDAToolkitRaul Tambre2020-05-261-0/+2
| | | | | | | | Fixes #20755.
* | FindCUDAToolkit: Factor out discovery code into a separate fileRaul Tambre2020-05-151-0/+225
| | | | | | | | | | | | This allows for re-use in other parts of the code, that require the CUDA toolkit location, but can't or may not want to use the full `FindCUDAToolkit`.
* | CPack/NSIS: Add option for setting DPI-awareJohnny Jazeix2020-04-141-0/+1
| | | | | | | | | | | | | | See https://nsis.sourceforge.io/Reference/ManifestDPIAware for more information. Fixes: #17724
* | CPackRPM: Add PRE_/POST_TRANS scriptsSarang Joshi2020-02-241-5/+13
| | | | | | | | | | | | Add variables for PRE_TRANS and POST_TRANS scripts. Fixes: #18917
* | CPack/NuGet: Provide more granular errorsYacoub Hossain2020-02-171-0/+16
|/ | | | | | | Address the problem of not knowing when cpack fails to create a nuget package which occurs when creating multiple nupkgs. Fixes: #20094
* Merge topic 'cpack-deb-fix-description'Brad King2020-01-271-1/+2
|\ | | | | | | | | | | | | baec299ecd CPack: Fix regression in Deb description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4271
| * CPack: Fix regression in Deb descriptionKyle Edwards2020-01-241-1/+2
| | | | | | | | Fixes: #20254
* | Merge topic 'fix-cpack-deb-description-file'Brad King2020-01-131-2/+9
|\ \ | |/ | | | | | | | | | | d491f34a5e CPack: Fix regression in DEB generator description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4204
| * CPack: Fix regression in DEB generator descriptionKyle Edwards2020-01-101-2/+9
| | | | | | | | Fixes: #20102
* | CPack/NSIS: Also preload the "UserInfo.dll" pluginPatrick Storz2020-01-041-0/+3
| | | | | | | | | | This is currently used to provide UserInfo::GetName and UserInfo::GetAccountType functions.
* | CPack/NSIS: Avoid "setup loading" screen by fixing template orderPatrick Storz2020-01-041-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | NSIS packages files (including those required by the installer itslef) in the order in which they're mentioned in the .nsi file. If solid compression is used, the installer might need to extract large parts of the archive to be able to even start the setup program ("Please wait while setup is loading..."). Avoid this by moving component installation towards the end of the template file.
* | Merge topic 'add_cuda_meta_compiler_features'Brad King2019-12-121-0/+14
|\ \ | | | | | | | | | | | | | | | | | | 2467a2b318 CUDA: Add cuda meta-features (e.g. ``cuda_std_11``) support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3992
| * | CUDA: Add cuda meta-features (e.g. ``cuda_std_11``) supportRobert Maynard2019-12-101-0/+14
| | |
* | | Merge topic 'cpack-use-CPACK_PACKAGE_HOMEPAGE_URL'Kyle Edwards2019-12-113-5/+5
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 3476dbe6d7 CPack: CMAKE_PROJECT_HOMEPAGE_URL -> CPACK_PACKAGE_HOMEPAGE_URL Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4024
| * | CPack: CMAKE_PROJECT_HOMEPAGE_URL -> CPACK_PACKAGE_HOMEPAGE_URLAlex Turbov2019-12-093-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At CPack running time the `CMAKE_PROJECT_HOMEPAGE_URL` variable is not set. Internal CPack modules (e.g. CPackDEB, CPackRPM, CPackFreeBSD) should use `CPACK_PACKAGE_HOMEPAGE_URL` instead, which is available after inclusion of `CPack.cmake` into `CMakeLists.txt`. Closes: #19607
* | | CPackNuGet: Fix handling of version specs with '['Yacoub Hossain2019-12-061-9/+2
| | | | | | | | | | | | | | | | | | | | | Build a string directly to avoid depending on CMake lists which do not handle square brackets in values very well. Fixes: #20010
* | | CPack/NuGet: Do not mangle non-C-identifier chars in dependenciesyacoub2019-11-141-5/+3
|/ / | | | | | | Fixes: #19956
* | CPack/NSIS: Add options for custom welcome/finish titles + display on 3 linesJohnny Jazeix2019-11-051-0/+4
| | | | | | | | Fixes: #11275
* | CPack/NSIS: Add option for custom Uninstall filenameJohnny Jazeix2019-10-251-4/+4
|/ | | | Fixes: #10728
* 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.