Commit Graph

255 Commits

Author SHA1 Message Date
Fred Baksik 0c9e47d7cd GHS: Integrity Application updates
-- 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.
2019-01-16 10:41:49 -05:00
Brad King 9143627c93 Merge topic 'doc-roff-fix'
9922e70b1a Help: Prevent .so from being treated as a roff macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2756
2019-01-11 07:43:57 -05:00
Raf Czlonka 9922e70b1a Help: Prevent .so from being treated as a roff macro
Move `.so` to the line above - otherwise it is being treated as a `roff`
macro, i.e.:

    $ mandoc -Tlint /usr/local/man/man7/cmake-properties.7 | head -n 3
    mandoc: /usr/local/man/man7/cmake-properties.7:1131:2: WARNING: .so is fragile, better use ln(1): so libraries.
    mandoc: /usr/local/man/man7/cmake-properties.7: ERROR: No such file or directory
    mandoc: /usr/local/man/man7/cmake-properties.7:1131:15: ERROR: .so request failed: .so libraries.

and causes other issues down the line.
2019-01-10 13:38:51 -05:00
Tobias Hunger cd32886b2f Autogen: Add AUTO(MOC|RCC|UIC)_EXECUTABLE target properties
Allow to force moc/rcc/uic compiler used for AUTO(MOC|RCC|UIC).

Setting these properties is only necessary if you are going to do
strange things like build these tools as part of your own build system.

Setting these properties will also prevent cmake from testing the
binary: It is user-provided and assumed to be valid.
2019-01-10 08:03:24 -05:00
Marc Chevrier f255280fd9 PIE link options: Update strategy to fix performance regression
Fixes: #18700
2018-12-19 19:41:27 +11:00
Sebastian Holtermann 0d80977af4 Autogen: Documentation updates
This extends the documentation for

- :prop_tgt:`AUTOGEN_ORIGIN_DEPENDS`
- :prop_tgt:`AUTOGEN_TARGET_DEPENDS`
- :variable:`CMAKE_GLOBAL_AUTOGEN_TARGET`
2018-11-26 09:57:20 +01:00
Joachim Wuttke (o) 254a849864 Help: Spell out MFC
And shorten text that was hard to understand and redundant.
2018-11-14 17:50:45 +01:00
Joachim Wuttke (o) b173c641c4 Help: Add links to variables 2018-11-14 17:50:45 +01:00
Craig Scott ddb967cca1 Merge topic 'pie-link-options'
c4b4d8b3a6 POSITION_INDEPENDENT_CODE: Manage link flags for executables
724a0346f7 POSITION_INDEPENDENT_CODE: Fix erroneous '-fPIE' flag for Sun Studio
023188ffb4 INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2465
2018-11-12 15:43:07 -05:00
Sebastian Holtermann 2ef8fe2222 Autogen: Add documentation for CMAKE_GLOBAL_AUTOGEN/RCC_TARGET 2018-11-11 14:29:38 +01:00
Marc Chevrier 023188ffb4 INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions support
Fixes: #16532
2018-11-08 14:58:57 +01:00
Sebastian Holtermann 47f9c15c60 Autogen: Update <ORIGIN>_autogen target documentation 2018-11-05 14:03:01 +01:00
Sebastian Holtermann 0669de5d36 Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS documentation 2018-11-03 12:14:40 +01:00
Brad King f0a9094d80 Merge topic 'no-smiley'
24fa04018c Help: Spell out ";-list" as "semicolon-separated list"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2528
2018-10-29 09:30:25 -04:00
Peter Wu 6114d85a7d RPATH: Add option for using $ORIGIN in build tree
This makes binaries independent of the build directory by not embedding
the build directory via RPATH.  The tests are partially based on the
existing RuntimePath test, but with the check moved into a POST_BUILD
command such that it can be skipped when the platform lacks support.

Fixes: #18413
2018-10-26 09:25:51 -04:00
Joachim Wuttke (o) 24fa04018c Help: Spell out ";-list" as "semicolon-separated list" 2018-10-25 15:44:59 +02:00
Harald Brinkmann 3b80cd77fb Fail the build if cppcheck returns a non-zero exit code
This allows the build failure to be tuned with cppcheck's
options --error-exitcode=<n> and --exitcode-suppressions=<file>.
2018-10-11 07:56:05 -04:00
Marc Chevrier a71caab46b LINK_DIRECTORIES: Add new properties and commands
These new capabilities enable to manage link directories

Two new properties:
* target properties: LINK_DIRECTORIES and INTERFACE_LINK_DIRECTORIES

One new command
* target_link_directories(): to populate target properties

Fixes: #17215
2018-09-25 23:59:58 +10:00
Brad King 333804fa0e Merge topic 'out-of-dir-linking'
a1ad0a699b target_link_libraries: Allow use with targets in other directories
9bbae5ae28 cmTarget: Future-proof AddLinkLibrary target lookup scope
f9cb6f618a cmExportFileGenerator: Use cmGeneratorTarget::ResolveTargetReference
18441a6269 cmGeneratorTarget: Factor target name resolution out of link item resolution
2f708f5d65 Make internal TARGET_PROPERTY generator expressions more robust
94a75801c8 Android.mk: De-duplicate link libraries logic during export
8a63b23d16 cmGlobalGenerator: Remove unused FindLocalGenerator method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Patrick Stotko <stotko@cs.uni-bonn.de>
Merge-request: !2370
2018-09-14 13:25:07 -04:00
Brad King a1ad0a699b target_link_libraries: Allow use with targets in other directories
Previously the command did not allow naming targets on the LHS that
were not created in the calling directory.  Lift this restriction to
enable more flexible use by projects.

Targets named on the RHS will need to be looked up during generation in
the scope of the call site rather than the scope of the LHS target.
Introduce an internal syntax in `[INTERFACE_]LINK_LIBRARIES` properties
to specify target names that need to be looked up in a directory other
than that containing the target on which the property is set.  Add
minimal documentation of the syntax to help users that encounter it.

Unfortunately CMake previously did allow such calls in the case that
only `INTERFACE` libraries are specified, but those libraries would be
looked up in the target's directory rather than the caller's.  Add
policy `CMP0079` to enable the new behavior with new lookup scope in a
compatible way.

Fixes: #17943
2018-09-12 13:06:36 -04:00
Bartosz Kosiorek fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS"
Apple's main Operating system changed their name from OS X to macOS:

    https://www.engadget.com/2016/06/13/os-x-is-now-macos/

Revise documentation accordingly.
2018-09-05 16:10:49 -04:00
Marc Chevrier 974de0e199 static library: add property STATIC_LIBRARY_OPTIONS
issue: #18251
2018-08-15 15:20:18 +02:00
Robert Maynard 6b17d85873 Help: Document when LINK_FLAGS and STATIC_LIBRARY_FLAGS are used 2018-08-09 12:54:16 -04:00
Gregor Jasny 6b7f1e1db0 Xcode: Add variables and properties to configure schemes
Add `XCODE_SCHEME_*` target properties and associated variables
`CMAKE_XCODE_SCHEME_*` to initialize them on target creation.
Map each target property value to an associated Xcode scheme entry.

Co-Author: Martin Sander <mail@martin-sander.de>
Fixes: #17919
2018-08-01 09:12:42 -04:00
Brad King 5467579828 Merge topic 'document_object_library_as_a_property_type'
741fd1c773 Help: Add OBJECT_LIBRARY to TYPE target property documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2199
2018-07-10 11:05:13 -04:00
Robert Maynard 741fd1c773 Help: Add OBJECT_LIBRARY to TYPE target property documentation 2018-07-10 10:08:45 -04:00
Brad King 5f7886c52b Merge topic 'vs-deployment-files'
3b2ea092ef Help: Add documentation for DEPLOYMENT_ADDITIONAL_FILES
b771b2c300 VS: extended OutputDeploymentDebuggerTool for AdditionalFiles
2f4075fa45 VS: moved EscapeForXML function higher up and made static

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2184
2018-07-10 10:06:07 -04:00
Frank Goyens 3b2ea092ef Help: Add documentation for DEPLOYMENT_ADDITIONAL_FILES 2018-07-09 07:39:39 -04:00
Marc Chevrier 724bd7790e LINK_DEPENDS: add support of 'generator expressions' 2018-06-27 18:38:36 +02:00
Marc Chevrier cc9f88af53 LINK_DEPENDS: add support for property INTERFACE_LINK_DEPENDS
Fixes: #17997
2018-06-27 18:38:36 +02:00
Jon Chronopoulos 797de7a6f6 VS10Project: Expand VS_DEBUGGER_* capabilities
This adds VS_DEBUGGER_COMMAND_ARGUMENTS and VS_DEBUGGER_ENVIRONMENT as
well as allowing VS_DEBUGGER_* to use generator expressions.
2018-06-17 17:55:27 +10:00
Marc Chevrier c1f5a44b28 LINK_OPTIONS: Add new family of properties
This family enable to manage link flags

Three new properties:
* directory property: LINK_OPTIONS
* target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS

Two new commands
* add_link_options(): to populate directory property
* target_link_options(): to populate target properties

Fixes: #16543
2018-06-06 17:22:39 +02:00
Marian Klymov 79ca546ed2 Add generator expression support to PDB_OUTPUT_DIRECTORY target property
Fixes: #16365
2018-05-21 11:00:12 -04:00
Michael Stürmer 71a033616a added CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION variable
Fixes: #17955
2018-05-15 09:00:31 +02:00
Michael Stürmer d94754b2a7 Help: Add hint to required VS 2017 component for C++/CLI support 2018-04-27 08:43:30 -04:00
Craig Scott 8e841a473f Cleanup: Fix typos and grammar in docs and code
No functional changes, just docs, comments and error messages.
2018-04-23 07:48:03 +10:00
Michael Stürmer 312527de47 document COMMON_LANGUAGE_RUNTIME target properties 2018-04-09 06:50:39 +02:00
Brad King e42fcb117f Merge topic 'remove-vs8-generator'
eb80af9093 Drop Visual Studio 8 2005 generator
e7af91d026 Tests: Remove unused file from Tutorial Step7 test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1901
2018-04-02 10:09:15 -04:00
Brad King eb80af9093 Drop Visual Studio 8 2005 generator
This generator has been deprecated since CMake 3.9.  Remove it.
2018-04-02 10:08:10 -04:00
Brad King a76e23eabb Merge topic 'variable-CMAKE_FOLDER'
df535ad846 Add CMAKE_FOLDER variable to initialize FOLDER target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1896
2018-04-02 10:06:39 -04:00
Marc B df535ad846 Add CMAKE_FOLDER variable to initialize FOLDER target property
This can be used for example to organize all following targets into one
Visual Studio folder:

  set(CMAKE_FOLDER Libraries)
  add_subdirectory(libA)
  add_subdirectory(libB)
  set(CMAKE_FOLDER Executables)
  add_subdirectory(progA)

Another possibility is using the current directory name for all
following targets in subdirectories:

  get_filename_component(dirname "${CMAKE_CURRENT_SOURCE_DIR}" NAME)
  string(APPEND CMAKE_FOLDER "/${dirname}")
2018-03-29 13:19:13 -04:00
Brad King 7fe580a362 Features: Add infrastructure for C++ 20 language standard
Issue: #17849
2018-03-27 07:40:54 -04:00
Ruslan Baratov 16eaf2d271 Help: Reference CMAKE_INSTALL_NAME_DIR from INSTALL_NAME_DIR 2018-03-20 16:34:45 +03:00
Brad King 20fc763b32 Merge topic 'export-properties'
6db61f0725 Export: allow exporting of additional properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1834
2018-03-19 08:28:14 -04:00
Brad King 60299bc6f0 Merge topic 'vs-debugger-command'
5a7113d8fb VS: Add target property VS_DEBUGGER_COMMAND

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1842
2018-03-19 08:26:33 -04:00
Wouter Klouwen 6db61f0725 Export: allow exporting of additional properties
This change introduces an additional property that may be set on a
target to allow additional properties to be exported. Normally only a
limited number of properties are exported.

Additional properties may be exported by simply setting the
`EXPORT_PROPERTIES` property on a target that is exported.
2018-03-16 09:00:56 -04:00
Hannes Mezger 5a7113d8fb VS: Add target property VS_DEBUGGER_COMMAND
Fixes: #17819
2018-03-14 13:27:15 -04:00
Hannes Mezger 4b25cc452a Help: Document VS_DEBUGGER_WORKING_DIRECTORY supported VS versions 2018-03-13 10:13:59 +01:00
Sebastian Holtermann bfffe42b98 Autogen: Doc: Extend AUTOMOC_DEPEND_FILTERS documentation 2018-02-21 10:28:43 -05:00
Sebastian Holtermann 1cf7c54a6b Autogen: Doc: Extend AUTOGEN_TARGET_DEPENDS documentation 2018-02-21 10:28:43 -05:00