summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* GHS: Add Compiler ID detectionFred Baksik2019-01-1612-25/+139
| | | | | | | | | | | | -- Detect GHS compiler and version Detect ARCHITECTURE_ID for PPC / ARM / 86 targets Detect PLATFORM_ID for Integrity and Integrity178 platforms Using defines specified in the documents for the compilers: 201416 PPC / 201754 ARM / 201714 86 -- Fallback C/CXX compiler ID to GHS if not otherwise detected and using GHS MULTI generator Works around issue with some GHS compilers not setting __ghs__ compiler define -- Tweak Compiler ID checking so major id of 002017 is not replaced with 217 -- Prefer try_compile() library targets when testing for working GHS compilers -- Avoid CMake errors if reading past end of file for checking if file is PE executable
* GHS: Use the correct compiler flags for CMAKE_BUILD_TYPEFred Baksik2019-01-162-44/+0
| | | | | | | | | | | | | | | -- Do not use CMAKE_C_FLAGS_RELEASE flags when CMAKE_BUILD_TYPE is empty if CMAKE_BUILD_TYPE was not set the generator would use Release settings this does not match the documented behavior of CMAKE_BUILD_TYPE -- CMAKE_C_FLAGS_<CONFIG> not used when -kernel is present Fixes issue where CMAKE_C_FLAGS_<CONFIG> is ignored when -kernel option is present as a compiler option When the -kernel option is added to an executable it uses a different set of language flags This does not occur -kernel=<type> is used or if it is added as part of a link flag The variables CMAKE_<LANG>_GHS_KERNEL_FLAGS_<CONFIG> are removed NOTE: By default this only added the flag -ldebug which links in the debugger library. -- Separate compiler options by newlines
* GHS: Update the link line processingFred Baksik2019-01-161-2/+2
| | | | | | | | | -- add missing executable linker libs from: CMAKE_C_STANDARD_LIBRARIES -- add missed transitive link libraries -- add skipped library linker options -- The linker expects -l../relative/path/to/lib.a to be relative to the top-level project Because there can be multiple top-level projects convert the path to an absolute path to target
* GHS: Place build system outputs per target output directivesFred Baksik2019-01-161-1/+1
| | | | | | | | | | | | | | -- Set output and object file locations -- Suffixes are no longer being forced but will now follow the target properties By default GHS tools have no suffix for executable files so CMAKE_EXECUTABLE_SUFFIX was changed to meet this behavior -- Remove #if 0 blocked out code; it has been replaced. Forcing the -relprog option has been removed from non-kernel executable targets. The default value of this option (if it is even available) is determined by the tool-chain for the specified target and platform (Some tool-chains default to -locatedprogram). The use of -relprog can have unexpected results as it cannot always produce a fully relocated executable. -- Clarify use of CMAKE_BUILD_TYPE to control build configuration
* GHS: Only print bsp and os directives if specified by userFred Baksik2019-01-161-1/+7
| | | | | | | | | -- standalone platforms will not build if bsp/os is specified in project file -- integrity platforms will always print these directives because they are required -- cleanup -os_dir setting allow customization of the actual setting because it is determined by tool-set customization files remove variable that was set but never used -- add message when using default values
* IAR: Update compiler modules to support AVR systemsEthan Slattery2019-01-154-2/+75
| | | | Fixes: #18557
* IAR: Parse INFO strings from the binary format of AVR systemsEthan Slattery2019-01-151-1/+7
| | | | | | | Teach `CMakeDetermineCompilerId` to recognize and parse the IAR-AVR binary format so we can recognize this compiler id. Issue: #18557
* Merge topic 'fetchcontent-uses-terminal'Brad King2019-01-152-0/+9
|\ | | | | | | | | | | | | | | 2119c33b7e FetchContent: Give access to the terminal for download and update Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Michael Hirsch, Ph.D. <michael@scivision.co> Merge-request: !2800
| * FetchContent: Give access to the terminal for download and updateCraig Scott2019-01-142-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A main scenario where this is needed is when a git operation needs the password to a private key and asks for it on the console. Without this change, such operations can appear to hang indefinitely with no prompt if QUIET is in effect (which it is by default). Another scenario this addresses is when progress of a download or update should be shown. Without this change, all such progress is buffered with some generators and will only be shown at the end, which defeats the purpose of logging any progress to begin with. Relates: #18238
* | Merge topic 'check-fortran-run'Brad King2019-01-152-1/+160
|\ \ | | | | | | | | | | | | | | | | | | 10a1477b63 CheckFortranSourceRuns: Add module to check if Fortran code runs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2714
| * | CheckFortranSourceRuns: Add module to check if Fortran code runsMichael Hirsch, Ph.D2019-01-102-1/+160
| | | | | | | | | | | | | | | Add a Fortran equivalent to the existing `Check{C,CXX}SourceRuns` modules.
* | | Remove now-unused code once used on IRIXBrad King2019-01-1110-181/+5
| |/ |/| | | | | | | We dropped support for IRIX as a host platform long ago. Remove some leftover code.
* | Merge topic 'FindBoost-1.70'Brad King2019-01-111-3/+17
|\ \ | | | | | | | | | | | | | | | | | | 266808c413 FindBoost: Add support for Boost 1.70 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2747
| * | FindBoost: Add support for Boost 1.70Mateusz Łoskot2018-12-181-3/+17
| | | | | | | | | | | | Boost master and develop branches just bumped the version.
* | | Merge topic 'FindICE-more-exe'Brad King2019-01-111-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | fbb115d198 FindIce: Find slice2confluence and slice2matlab executables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2773
| * | | FindIce: Find slice2confluence and slice2matlab executablesjspam2019-01-101-0/+4
| | | |
* | | | Merge topic 'xl-early-bE'Brad King2019-01-111-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 74720a298c XL: Move '-bE' flag earlier so it can be overridden Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2771
| * | | | XL: Move '-bE' flag earlier so it can be overriddenRob Boehne2019-01-101-1/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, we generate an export list for a shared library and pass that file on the link line. The problem was that it could not be overridden by a target when a specific export file is being used. Multiple `-bE` flags on the link are overridden by subsequent `-bE` flags, so only the last one is used. Fixes: #13282
* | | | Merge topic 'bison_target_policy'Brad King2019-01-111-4/+34
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5000fed5af FindBISON: Add policy CMP0088 to run bison in build tree Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2774
| * | | | FindBISON: Add policy CMP0088 to run bison in build treeRobert Maynard2019-01-101-4/+34
| | |/ / | |/| |
* | | | Merge topic 'threads'Brad King2019-01-111-1/+4
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 5a5a1d90f0 Help: FindThreads not needed with modern C++. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2776
| * | | Help: FindThreads not needed with modern C++.Joachim Wuttke (o)2019-01-091-1/+4
| |/ /
* | | Merge topic 'BundleUtilities-make-dir'Craig Scott2019-01-091-0/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 200bf57742 BundleUtilities: Ensure target dir exists when creating symlinks Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: Craig Scott <craig.scott@crascit.com> Merge-request: !2728
| * | BundleUtilities: Ensure target dir exists when creating symlinksTim Blechmann2019-01-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v3.13.0-rc1~279^2 (GetPrerequisites: Move dylibs from MacOS to Frameworks folder in bundle, 2018-07-22) introduced a regression that can cause symlink creation to fail during packaging. Symlinks can be created before targets are installed, so the destination directory of the symlink sometimes won't exist at symlink creation. Fixes: #18726
| * | CUDA: Add CUDA 10 (Turing) detectionAnton Chernov2018-12-101-2/+16
| | |
* | | Merge topic 'bundle_fixes'Craig Scott2019-01-062-13/+33
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 08be74bfd7 GetPrerequisites: Fix handling of executable scripts 52445300d6 GetPrerequisites: Allow prefixed tools 1bac4678ea GetPrerequisites: Add GET_PREREQUISITES_VERBOSE to set verbose 5072598f07 BundleUtilites: Don't use hardcoded name for install_name_tool 428680da92 GetPrerequisites: Don't use hardcoded name for otool Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2748
| * | | GetPrerequisites: Fix handling of executable scriptsAlexander Grund2019-01-041-0/+9
| | | | | | | | | | | | | | | | Fixes: #18667
| * | | GetPrerequisites: Allow prefixed toolsAlexander Grund2018-12-311-10/+10
| | | | | | | | | | | | | | | | e.g. for cross-compilation with e.g. x86_64-pc-linux-gnu-ldd
| * | | GetPrerequisites: Add GET_PREREQUISITES_VERBOSE to set verboseAlexander Grund2018-12-311-0/+7
| | | |
| * | | BundleUtilites: Don't use hardcoded name for install_name_toolAlexander Grund2018-12-311-2/+6
| | | |
| * | | GetPrerequisites: Don't use hardcoded name for otoolAlexander Grund2018-12-301-1/+1
| | | |
* | | | Merge branch 'swig_src_file_ext' into 'master'Marc Chevrier2019-01-041-2/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UseSWIG: Add support for custom Swig source file extensions Closes #18727 See merge request cmake/cmake!2764
| * | | | SWIG: Add support for custom Swig source file extensionsThirumal Venkat2019-01-031-2/+24
| | | | |
* | | | | Merge topic 'gtest-discovery-work-dir'Craig Scott2018-12-311-0/+1
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | 3bbf77fa01 Specify WORKING_DIRECTORY to execute_process() in GoogleTestAddTests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2761
| * | | | Specify WORKING_DIRECTORY to execute_process() in GoogleTestAddTestsNehal J Wani2018-12-281-0/+1
| |/ / /
* | | | Merge topic 'remove-include-cmakeparsearguments'Craig Scott2018-12-293-6/+0
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 88b40744b5 CMakeParseArguments: Remove superfluous includes of CMakeParseArguments Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !2744
| * | | CMakeParseArguments: Remove superfluous includes of CMakeParseArgumentsKyle Edwards2018-12-143-6/+0
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because cmake_parse_arguments() has been implemented as a native command, there is no need to include(CMakeParseArguments) anymore. Its inclusion has been removed from several CMake modules. Tests/CMakeOnly/CMakeLists.txt has been changed to include the *building* CMake's copy of CMakeParseArguments rather than the *built* CMake's copy. This file included the *built* copy because when this file was introduced, CMake could still be built with versions that didn't supply cmake_parse_arguments(). Now, CMake requires 3.1 or greater, where cmake_parse_arguments() existed but was still in the form of a module, so we include it from the *building* CMake.
* | | Merge topic 'link-options'Craig Scott2018-12-2317-44/+173
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | f255280fd9 PIE link options: Update strategy to fix performance regression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2739
| * | | PIE link options: Update strategy to fix performance regressionMarc Chevrier2018-12-1917-44/+173
| |/ / | | | | | | | | | Fixes: #18700
* | | Merge topic 'output-on-failure'Craig Scott2018-12-211-4/+47
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 19d86e26e3 ExternalProject: add LOG_OUTPUT_ON_FAILURE option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2625
| * | | ExternalProject: add LOG_OUTPUT_ON_FAILURE optionWouter Klouwen2018-12-201-4/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option only has an effect if at least one of the other LOG_<step> options is enabled. If an error occurs for a step which has logging to file enabled, that step's output will be printed to the console. For cases where a large amount of output is recorded, just the end of that output may be printed to the console.
* | | | Help: FindLibLZMA: update formatting.Marc Chevrier2018-12-201-17/+23
| | | |
* | | | Merge branch 'topic-findliblzma' into 'master'Marc Chevrier2018-12-201-4/+22
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | FindLibLZMA: add imported target Closes #18679 and #18680 See merge request cmake/cmake!2730
| * | | FindLibLZMA: add imported targetHiroshi Miura2018-12-131-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add imported target LibLZMA::LibLZMA - Show found message with library path - Add test for FindLibLZMA Fixes: #18680, #18679 Signed-off-by: Hiroshi Miura <miurahr@linux.com>
* | | | Merge topic 'UseJava-jar-depends'Brad King2018-12-131-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5aa88f0e02 UseJava: add_jar: rebuild jar on dependencies changes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2727
| * | | | UseJava: add_jar: rebuild jar on dependencies changesMarc Chevrier2018-12-111-1/+1
| |/ / / | | | | | | | | | | | | Fixes: #18683
* | | | Merge topic 'machoFormat'Brad King2018-12-121-7/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c86e82c092 Add Mach-O CMAKE_EXECUTABLE_FORMAT detection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2722
| * | | | Add Mach-O CMAKE_EXECUTABLE_FORMAT detectionMaikel van den Hurk2018-12-101-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code for this was prototyped when ELF detection was added long ago but left commented out. Use either MH_MAGIC or MH_CIGAM for the 32-bit variant and use either or MH_MAGIC_64 or MH_CIGAM_64 for the 64-bit variant.
* | | | | Merge topic 'FindThreads-drop-irix'Brad King2018-12-125-79/+44
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | 83dab0c123 FindThreads: Drop IRIX-specific options and results Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2717
| * | | | FindThreads: Drop IRIX-specific options and resultsBrad King2018-12-075-79/+44
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We do not need to support IRIX anymore, so drop relevant parts. In particular, the `CMAKE_THREAD_PREFER_PTHREAD` is frequently confused with `THREADS_PREFER_PTHREAD_FLAG`. Also remove references to the IRIX-specific options and results from other modules and tests.