Commit Graph

1216 Commits

Author SHA1 Message Date
Brad King
24c0e229ef Merge topic 'implicit-dir-symlinks'
69528fe6 Tests: Add case for RPATH exclusion of symlinks to implicit directories
f3102ca8 Merge branch 'backport-implicit-dir-symlinks' into implicit-dir-symlinks
c3fb650c cmOrderDirectories: Consider symlinks when checking implicit directories
b1a37362 cmOrderDirectories: Factor out implicit directory check
2017-03-03 07:57:29 -05:00
Brad King
5d81817b71 Merge topic 'csproj_add_free_source_tags'
506207f9 VS: add test for VS_CSHARP_* source file property
a202749c VS: add CSharpUtilities module
9588d0a2 VS: add VS_CSHARP_<tagname> sourcefile property
2017-03-02 09:26:03 -05:00
Brad King
69528fe65f Tests: Add case for RPATH exclusion of symlinks to implicit directories
Issue: #16682
2017-03-02 08:36:32 -05:00
Michael Stürmer
506207f928 VS: add test for VS_CSHARP_* source file property 2017-03-01 15:31:05 -05:00
Brad King
f782b31368 Merge topic 'FindPkgConfig-version-ops'
8d71fa92 FindPkgConfig: use new version checking "library >= version" syntax
2017-03-01 09:00:46 -05:00
Brad King
86563cf7c8 Merge topic 'export-executable-symbols'
85e08370 bindexplib: Always export executable symbols, even they are also readable
2017-03-01 09:00:43 -05:00
Brad King
4fc64ce76d Merge topic 'find-libarch-not-symlink'
6f5aede7 find_library: Skip 'lib => lib<arch>' searches if one symlinks the other
e67963ed cmFindLibraryCommand: Refactor AddArchitecturePath logic
2017-03-01 09:00:40 -05:00
Brad King
6f5aede716 find_library: Skip 'lib => lib<arch>' searches if one symlinks the other
The `FIND_LIBRARY_USE_LIB<arch>_PATHS` global properties ask
`find_library` to look in `lib<arch>` directories automatically before
corresponding `lib` directories.  However, if `lib<arch>` is just a
symlink to `lib` (or vice-versa) then we should skip adding the
`lib<arch>` path.  Such symlinks typically only exist to satisfy
software that expects the `lib<arch>` path to be available.

Fixes: #16687
2017-02-28 14:56:54 -05:00
Zsolt Parragi
85e08370d0 bindexplib: Always export executable symbols, even they are also readable
Previously bindexplib discarded read-only non-function symbols even in
executable/code sections, but in some specific cases they could still mark
functions.

An example is provided by nop.asm in the AuoExportDll test, which exports
a function only marked by a label. This symbol can be used from C/C++
code, but without this change it would result in an unresolved external
symbol when built as a DLL on Windows.
2017-02-28 09:49:12 -05:00
Brad King
30243e7faf Merge topic '16607-error-out-on-non-seekable-input-files'
ded616bd cmListFileLexer: bail out on seek-errors
2017-02-28 09:39:21 -05:00
Gautier Pelloux-Prayer
8d71fa9283 FindPkgConfig: use new version checking "library >= version" syntax
Instead of the deprecated --atleast-version one.
2017-02-28 10:45:25 +01:00
Gregor Jasny
ded616bdad cmListFileLexer: bail out on seek-errors
If we are given a FIFO, for example, we cannot seek back after trying to
read a Byte-Order-Mark.

Closes: #16607
2017-02-27 09:14:28 -05:00
Brad King
9b02283a1f Merge topic 'test-objlib-deps-cleanup'
b35a949b Tests: Change RunCMake.ObjectLibrary dependencies case to C
01347954 Tests: Fix RunCMake.ObjectLibrary dependency delay
2017-02-27 09:11:20 -05:00
Brad King
b35a949bb6 Tests: Change RunCMake.ObjectLibrary dependencies case to C 2017-02-26 10:43:32 -05:00
Brad King
0134795418 Tests: Fix RunCMake.ObjectLibrary dependency delay
Sleep before the second copy to avoid the need for a touch.
Sleep for longer on generators whose build tools have low
resolution timestamps.
2017-02-26 10:43:30 -05:00
Brad King
32f13fbe09 Merge topic '16615-xcode-object-libraries-depends'
624021a0 Add test for object library dependencies
5da9266a Xcode: Always track object library dependencies via hacky Makefile
e80ac953 Xcode: Record dependency information also for object libraries
9293e57d Xcode: Collect dummy rules during iteration and emit afterwards
33a1d727 Makefile: Allow adding post-build rules to object libraries
2017-02-24 09:31:39 -05:00
Brad King
d23f4414c4 Merge topic 'clang-format-attrs'
d5f39a56 clang-format.bash: Use Git attributes to mark files for formatting
f6986ee4 Define a custom Git attribute to mark sources using our C style
2256c3a7 Define a custom Git attribute to mark source files as generated
2017-02-23 07:35:32 -05:00
Brad King
d5f39a56a4 clang-format.bash: Use Git attributes to mark files for formatting 2017-02-22 16:59:26 -05:00
Gregor Jasny
624021a09e Add test for object library dependencies
Issue: #16615
2017-02-22 15:21:06 -05:00
Brad King
f3e8a89a9b Merge topic 'install_name_policy'
1ba91291 Add policy CMP0068 separate install_name and RPATH settings on macOS
f7b9bf41 Apple: Add BUILD_WITH_INSTALL_NAME_DIR target property
4bff2d14 Apple: Refactor support for using INSTALL_NAME_DIR.
624fb9d7 Help: Format BUILD_WITH_INSTALL_RPATH documentation
2017-02-17 08:46:14 -05:00
Brad King
f773933f26 VS: Refactor generator toolset parsing
We parse `CMAKE_GENERATOR_TOOLSET` values of the forms:

* `toolset`
* `toolset,host=x64`
* `host=x64`

Generalize the parsing to support the forms:

* `toolset`
* `toolset[,key=value]*`
* `key=value[,key=value]*`

Disallow duplicate keys.  Require all but the first field to
be of `key=value` form.
2017-02-15 08:15:37 -05:00
Brad King
d9e2b9a909 Tests: Split out RunCMake.GeneratorToolset Xcode checks
This will allow the behavior of VS and Xcode generators to differ.
2017-02-15 08:15:00 -05:00
Clinton Stimpson
1ba91291e3 Add policy CMP0068 separate install_name and RPATH settings on macOS
BUILD_WITH_INSTALL_RPATH, SKIP_BUILD_RPATH, CMAKE_SKIP_RPATH and
CMAKE_SKIP_INSTALL_RPATH no longer any effect on the install name
of a target on macOS.

Fixes: #16589
2017-02-14 14:28:07 -07:00
Brad King
14c771530a Tests: Fix file:// URLs given to curl
Since upstream curl commit curl-7_52_0~131 (URL-parser: for
file://[host]/ URLs, the [host] must be localhost, 2016-11-11) we can no
longer use URLs of the form `file://c:/...` on Windows.  These worked
only accidentally before.  Use `file:///c:/...` instead.
2017-02-10 13:10:07 -05:00
Daniele E. Domenichelli
6f62c66b2c FeatureSummary: Add FeatureSummary_<TYPE>_DESCRIPTION global properties
The global property FeatureSummary_<TYPE>_DESCRIPTION can be defined for
each type to replace the type name with the specified string whenever
the package type is used in an output string.
2017-02-06 14:44:24 -05:00
Daniele E. Domenichelli
f9bc8cfeeb FeatureSummary: Add DEFAULT_DESCRIPTION option to feature_summary
If enabled and only one package type is selected, it will print the
default title for the selected package type.
2017-02-06 14:44:23 -05:00
Zack Galbreath
8a5cb84b0e AndroidTestUtilities: do not require ExternalData unconditionally
Attempting to use AndroidTestUtilities to simply install some local
files on device can result in the following error:

    Neither ExternalData_URL_TEMPLATES nor ExternalData_OBJECT_STORES is set

We no longer require these ExternalData-specific variables to be set if
no such remote data files are requested.

Fixes: #16529
2017-02-04 08:16:24 -05:00
Brad King
f012a95836 Merge topic '16432-static-frameworks'
071f8e78 Apple: Add support for static frameworks
d525754e Xcode: Refactor RunCMake.Framework test to prepare for static frameworks
45405f00 Xcode: Ignore Xcode project warning until issue is fixed
50e1c105 Makefile: For static libraries remove only the "real" lib before creating
8643ca75 Makefile: Re-order list of files to clean
2017-01-31 09:04:16 -05:00
Gregor Jasny
071f8e78dd Apple: Add support for static frameworks
Closes: #16432
2017-01-31 08:59:15 -05:00
Brad King
8df12fc9d4 Merge topic 'FeatureSummary_enhancement'
560574b0 FeatureSummary: Update release notes
3cfde818 FeatureSummary: Refactor to use global properties for package types
f0165eb6 FeatureSummary: Allow lists of dependencies in ADD_FEATURE_INFO
9da7bf08 FeatureSummary: Add QUIET_ON_EMPTY option to feature_summary
4cf4aceb FeatureSummary: Add unit tests
614a97a5 FeatureSummary: Do not force OPTIONAL type in SET_PACKAGE_PROPERTIES
65a0bfd8 FeatureSummary: Add deprecation warnings to deprecated commands
4da3cae9 FeatureSummary: Clean printed output
2017-01-30 08:43:23 -05:00
Bernhard M. Wiedemann
6c54f7b365 string: Teach TIMESTAMP to treat %% as %
This encoding is documented by `strptime`.
2017-01-27 09:25:37 -05:00
Brad King
325c615308 Merge topic 'genex-if'
895f7f16 Genex: Add `IF` generator expression
2017-01-27 09:04:58 -05:00
Brad King
86ec0aca05 Merge topic 'topic-reproducible-build'
243aed52 cmTimestamp: Support SOURCE_DATE_EPOCH to override current time
2017-01-27 09:04:53 -05:00
Gregor Jasny
d525754eab Xcode: Refactor RunCMake.Framework test to prepare for static frameworks 2017-01-26 13:34:58 -05:00
Gregor Jasny
45405f00d2 Xcode: Ignore Xcode project warning until issue is fixed
Issue: #15272
2017-01-26 13:34:40 -05:00
Colby Pike
895f7f16a7 Genex: Add IF generator expression
This allows a single condition to be used to choose between two
alternatives.  Without this the condition must be duplicated with
one surrounded by `NOT`.

Closes: #15585
2017-01-26 11:18:50 -05:00
Brad King
09cad30904 Merge topic 'FindGTK2_RunTwice'
4bc2c16b FindGTK2: Add unit test to check variables when run twice
9702b3ee FindGTK2: Fix GTK2_LIBRARIES and GTK2_TARGETS when called twice
2017-01-26 10:40:39 -05:00
Bernhard M. Wiedemann
243aed525a cmTimestamp: Support SOURCE_DATE_EPOCH to override current time
See https://reproducible-builds.org/ for why this is good and
https://reproducible-builds.org/specs/source-date-epoch/ for the
definition of this variable.
2017-01-26 10:21:41 -05:00
Daniele E. Domenichelli
3cfde81835 FeatureSummary: Refactor to use global properties for package types
These new global properties were added:

* FeatureSummary_PKG_TYPES: Package types accepted by FeatureSummary
  (default REQUIRED RECOMMENDED OPTIONAL RUNTIME).
* FeatureSummary_REQUIRED_PKG_TYPES: Package types that will cause
  FeatureSummary to abort when called with
  FATAL_ON_MISSING_REQUIRED_PACKAGES and a package in these categories
  is missing (default REQUIRED).
* FeatureSummary_DEFAULT_PKG_TYPE: Default package type assigned when
  not explicitly assigned by the user (default OPTIONAL).

This allows to add and remove new package types that can be printed
selectively using the "WHAT" argument.
2017-01-26 12:28:12 +01:00
Daniele E. Domenichelli
f0165eb624 FeatureSummary: Allow lists of dependencies in ADD_FEATURE_INFO 2017-01-26 10:52:37 +01:00
Daniele E. Domenichelli
9da7bf0825 FeatureSummary: Add QUIET_ON_EMPTY option to feature_summary
This option suppresses the output when the list of packages that belong
to the selected category is empty.
2017-01-26 10:52:35 +01:00
Daniele E. Domenichelli
4cf4acebe3 FeatureSummary: Add unit tests 2017-01-26 10:52:09 +01:00
Daniele E. Domenichelli
4da3cae9ff FeatureSummary: Clean printed output
* Remove space before commas
* Do not add an empty line before the first type of packages

Also fix a typo in unit test.
2017-01-26 10:50:08 +01:00
Brad King
54790e77d7 Merge topic 'sanitizer-options'
e116f2a5 ctest_memcheck: Fix sanitizers when MemoryCheckSanitizerOptions is empty
522e1588 Tests: Use CTEST_MEMORYCHECK_SANITIZER_OPTIONS where appropriate
2017-01-25 08:41:21 -05:00
Brad King
4f37987e3f Merge topic 'lang_lint'
0618ddf6 Add properties to run the cpplint style checker with the compiler
2017-01-25 08:41:18 -05:00
Daniele E. Domenichelli
4bc2c16b5d FindGTK2: Add unit test to check variables when run twice 2017-01-25 10:20:35 +01:00
Brad King
c59d381065 Merge topic 'cpack-stgz-minimal-test'
624709c8 CPack/STGZ: minimalistic packages test
1c93eb68 CPack/STGZ prefer pax for extraction
2017-01-24 14:45:35 -05:00
Brad King
6122fc54a9 Merge topic '16253-xcode-effective-platform-name'
10c9c73d Xcode: Control emission of EFFECTIVE_PLATFORM_NAME
2017-01-24 14:45:24 -05:00
Jamie Snape
0618ddf6b1 Add properties to run the cpplint style checker with the compiler
Create a `<LANG>_CPPLINT` target property (initialized by a
`CMAKE_<LANG>_CPPLINT` variable) to specify a `cpplint` style checker
command line to be run along with the compiler.
2017-01-23 14:47:13 -05:00
Jamie Snape
e116f2a5de ctest_memcheck: Fix sanitizers when MemoryCheckSanitizerOptions is empty 2017-01-23 10:50:38 -05:00