summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cmTarget,cmGeneratorTarget: Add optional `before` parameter to AddSourceSebastian Holtermann2019-01-184-16/+22
| | | | | | The new optional `before` parameter in `cmTarget::AddSource` and `cmGeneratorTarget::AddSource` allows to prepend a source file to the sources list instead of appending it.
* Merge topic 'automoc-test-in-place'Brad King2019-01-181-4/+4
|\ | | | | | | | | | | | | 1c08652580 Tests: Fix Qt4And5Automoc tests to work on in-source build Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2817
| * Tests: Fix Qt4And5Automoc tests to work on in-source buildBrad King2019-01-171-4/+4
| | | | | | | | | | | | | | Use a distinctly-named build directory for each case so that neither one uses its own source tree as the build tree. Fixes: #18159
* | Merge topic 'GHS_updates'Brad King2019-01-18148-1046/+2084
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 21ab58d3f8 GHS: Update test suite 72e0c115b7 GHS: Add Compiler ID detection 436cc5e991 GHS: try_compile() now uses GHS platform variables 4a1ec0de3d GHS: Fix toolset selection 1a66acdef2 GHS: Append ".gpj" to target name when generating build command 0c9e47d7cd GHS: Integrity Application updates 8044318431 GHS: Add support for some of the source file properties 73092b2213 GHS: Add support for object libraries ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2231
| * | GHS: Update test suiteFred Baksik2019-01-1620-104/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Allow for testing default toolset settings If CMake_TEST_GreenHillsMULTI_config is not defined then just run the GHS tests using defaults. -- Handle paths that contain spaces -- Update test suite to use "-non_shared" linker option Fixes linking issue if GHS is not shipped with shared libraries -- Other minor cleanup
| * | GHS: Add Compiler ID detectionFred Baksik2019-01-1617-43/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 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: try_compile() now uses GHS platform variablesFred Baksik2019-01-169-15/+39
| | | | | | | | | | | | | | | | | | | | | -- Forward GHS platform variables to try_compile() CMAKE_TRY_COMPILE_PLATFORM_VARIABLES only worked for source signature try_compile() -- Update tests to no longer add GHS platform variables to try_compile() -- Avoid linker error in GhsMulti/GhsMultiCompilerOptions/CMakeLists.txt by building library
| * | GHS: Fix toolset selectionFred Baksik2019-01-163-26/+37
| | | | | | | | | | | | | | | | | | -- Allow -T to accept full or partial paths -- Use "C:/ghs" if GHS_TOOLSET_ROOT is empty string -- Put more information in error messages
| * | GHS: Append ".gpj" to target name when generating build commandFred Baksik2019-01-164-1/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Add test demonstrating issue -- In the case of executable targets the target name is usually the same as used in "-o filename" But for static libraries the target name is usually "-o libname.a" "gbuild.exe target" will build whatever target matches against even the output from the compiler or linker But the targets in "cmake --build . --target name" should be target names in CMakeLists.txt not the actual filenames So change the "name" to "name.gpj" so it matches the target name in CMakeLists.txt. Fixes #15975
| * | GHS: Integrity Application updatesFred Baksik2019-01-1614-62/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Check the property "ghs_integrity_app" on executables to set [INTEGRITY Application] If the property is not set then check if an integrate file is one of the source files (.int file). Dynamic Downloads that do not have an integrate file can use this property along with setting the compiler flag "-dynamic". -- Remove parsing for -dynamic flag; it is only used to print a comment The MULTI GUI will show if it is a Monolith or Dynamic Download application -- Use project references to specify which executables are part of the Integrity Application Usually Implicit Dependency Analysis will ensure that executable targets become part of the application. This does not work for Dynamic Download without integrate files. Use `add_dependencies(dd vas)` to mark that the vas target is part of dd target. -- Update file locations in the Integrate files.
| * | GHS: Add support for some of the source file propertiesFred Baksik2019-01-162-1/+22
| | | | | | | | | | | | -- INCLUDE_DIRECTORIES, COMPILE_DEFINITIONS, and COMPILE_OPTIONS
| * | GHS: Add support for object librariesFred Baksik2019-01-164-96/+70
| | |
| * | GHS: EXCLUDE_FROM_ALL updatesFred Baksik2019-01-164-70/+33
| | | | | | | | | | | | | | | -- Excluded targets should be generated but not included in build ALL -- Use the correct source list for this configuration when writing sources
| * | GHS: Use the correct compiler flags for CMAKE_BUILD_TYPEFred Baksik2019-01-1610-120/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 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: Cleanup unused file handling functions and file output updatesFred Baksik2019-01-166-365/+35
| | | | | | | | | | | | | | | | | | -- File handling cleanup -- Rename some functions to clarify what they do -- Update to source file path conversion; only perform conversion when using windows
| * | GHS: Update the link line processingFred Baksik2019-01-163-56/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | -- 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-168-46/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 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: Update the top-level project generationFred Baksik2019-01-166-106/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Sort targets by name -- Generate a top-level project for each project command named as project.top.gpj Use the target set for the current project instead of assuming all targets -- Add support for building projects not in binary root -- Directly create files and pass ostream -- Do no generate project files for UTILITY targets; this was never supported -- Do no generate project files for OBJECT, SHARED, or MODULE libraries; this was never supported -- Update GHS tags to support project types NOTE: The default tag is changed to "" because "[ ]" is an invalid token in project file
| * | GHS: Cleanup how source files are listedFred Baksik2019-01-164-48/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Sort the items of the project files, previously they were unsorted The layout is similar to Visual Studio projects -- Do not make a make a tree of directories and projects files The main project file is in the binary folder The sub-project files are located in the project object directory This is similar to the Makefile generator -- Allow the creation of a single project file If the variable or target property GHS_NO_SOURCE_GROUP_FILE is set then all sources will be listed in the main project file
| * | GHS: Update binary structure so that install scripts workFred Baksik2019-01-164-75/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GHS doesn't follow the binary structure that VS or Makefiles use Also setting binary location outputs do not work -- Update to act like Visual Studio Generator and use its project layout -- Fix open/close issues where open() was used instead of Open() Now passes the file handle to all function that require it -- Avoid triggering MULTI reloads; use SetCopyIfDifferent mode
| * | GHS: Have the top-level project name follow the specified project nameFred Baksik2019-01-162-3/+6
| | |
| * | GHS: Update test suiteFred Baksik2019-01-16101-67/+921
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- Update test suite so that CMake can use multiple toolsets CMake_TEST_GreenHillsMULTI_config ghs_config_name ghs_target_arch ghs_tools ghs_toolset_name ghs_os_root ghs_os_dir ghs_target_platform ghs_bsp_name -- Change ARM Integrity test to generic Integrity test Add Monolithic build test -- Add other GHS generator tests
| * | GHS: Only print bsp and os directives if specified by userFred Baksik2019-01-163-36/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | -- 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
* | | Merge topic 'remove-duplicate-link'Brad King2019-01-181-1/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 00c7e006a5 Help: Remove duplicate reference to IMPORTED_LINK_DEPENDENT_LIBRARIES_<CONFIG> Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2818
| * | | Help: Remove duplicate reference to IMPORTED_LINK_DEPENDENT_LIBRARIES_<CONFIG>Kyle Edwards2019-01-171-1/+0
| | |/ | |/|
* | | CMake Nightly Date StampKitware Robot2019-01-181-1/+1
| | |
* | | Merge topic 'cmake_role-global-property'Brad King2019-01-1735-27/+183
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 4568d046c4 Properties: Add CMAKE_ROLE global property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2805
| * | | Properties: Add CMAKE_ROLE global propertyKyle Edwards2019-01-1735-27/+183
| | |/ | |/| | | | | | | | | | This property allows scripts to determine whether they're in project mode, script mode, find-package mode, CTest, or CPack.
* | | Merge topic 'vs-debug-utility-targets'Brad King2019-01-1710-121/+142
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 22b43b0009 VS: Add support for VS_DEBUGGER_* properties on custom targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2794
| * | | VS: Add support for VS_DEBUGGER_* properties on custom targetsNils Gladitz2019-01-1610-121/+142
| |/ / | | | | | | | | | | | | | | | Visual studio itself supports the corresponding `LocalDebugger*` properties on utility targets; support generating them from CMake as well.
* | | Merge topic 'fix_csharp_defines'Brad King2019-01-174-0/+87
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | a541d113e6 VS: Honor target_compile_definitions for C# projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2809
| * | VS: Honor target_compile_definitions for C# projectsWil Stark2019-01-164-0/+87
| | | | | | | | | | | | Fixes: #18698
* | | CMake Nightly Date StampKitware Robot2019-01-171-1/+1
| | |
* | | Merge topic 'qt_wrap_command_deprecations'Craig Scott2019-01-163-7/+32
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 74dc68b406 qt_wrap_*: Add deprecation notes to command docs Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Brad King <brad.king@kitware.com> Merge-request: !2738
| * | qt_wrap_*: Add deprecation notes to command docsTobias Hunger2019-01-153-7/+32
| | | | | | | | | Co-authored-by: Craig Scott <craig.scott@crascit.com>
* | | Merge topic 'iar-avr'Brad King2019-01-165-3/+82
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 270965e0c7 IAR: Update compiler modules to support AVR systems 7414d422b2 IAR: Parse INFO strings from the binary format of AVR systems Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2792
| * | | 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 'semi-warnings'Brad King2019-01-1627-66/+81
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b056bc3425 Fix most clang -Wextra-semi-stmt warnings in C++ files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2795
| * | | Fix most clang -Wextra-semi-stmt warnings in C++ filesSean McBride2019-01-1527-66/+81
| |/ / | | | | | | | | | Suppress one in code generated by flex.
* | | Merge topic 'swift'Brad King2019-01-163-0/+24
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b90e6134a7 Ninja: add new placeholder `SWIFT_AUXILIARY_SOURCES` Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Cristian Hancila <chancila@gmail.com> Acked-by: Aaron Dierking <aarondierking7@gmail.com> Merge-request: !2797
| * | | Ninja: add new placeholder `SWIFT_AUXILIARY_SOURCES`Saleem Abdulrasool2019-01-153-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The swift compilation model requires all sources for the module to be listed for the compiler to type check across them. Provide a placeholder to allow enumerating the remainder of the swift sources in a target for the language compile rule. Issue: #18800
* | | | Merge topic 'autogen_adaptive_warning'Brad King2019-01-166-46/+80
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5fe18eee13 Autogen: Adaptive missing Qt warning f2f1661334 Autogen: Add and use QtAutoGen::Tools method b2343ff086 Autogen: Fix rcc validity check Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2806
| * | | | Autogen: Adaptive missing Qt warningSebastian Holtermann2019-01-154-31/+39
| | | | | | | | | | | | | | | | | | | | | | | | | This makes the warning message for a missing Qt use the requested Qt version in the message text.
| * | | | Autogen: Add and use QtAutoGen::Tools methodSebastian Holtermann2019-01-154-14/+40
| | | | |
| * | | | Autogen: Fix rcc validity checkSebastian Holtermann2019-01-141-1/+1
| | | | |
* | | | | Merge topic 'support_per_toolset_json_flags'Brad King2019-01-164-70/+100
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c8ba777f6d GlobalVisualStudio10Generator: Support non-standard toolset json flag files. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2772
| * | | | | GlobalVisualStudio10Generator: Support non-standard toolset json flag files.Stephan Szabo2019-01-034-70/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If given a toolset that does not have an explicit mapping in cmVisualStudio10ToolsetOptions, check for a json flag file using the toolset name before trying the default toolset for the generator.
* | | | | | Merge topic 'messenger-no-cmake'Brad King2019-01-16105-610/+698
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cc2a5261f8 Factor out enum MessageType into dedicated header Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2654
| * | | | | | Factor out enum MessageType into dedicated headerBruno Manganelli2019-01-16105-610/+698
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | Reduce the number of files relying on `cmake.h`.