Commit Graph

33305 Commits

Author SHA1 Message Date
Kolan Sh e237211a89 Merge remote-tracking branch 'cmake/release' 2016-12-07 17:06:26 +03:00
Brad King 0d89c1e87c Merge branch 'vs-Zc-inline' into release 2016-11-30 14:30:41 -05:00
Brad King 418afd5b2c VS: Add v140 flag table entries for `-Zc:inline[-]`
The documentation of this option [1] claims that the default is off, but
VS seems to use `-Zc:inline` by default if `RemoveUnreferencedCodeData`
does not appear in the `.vcxproj` file.  Add the flag table entry to
allow use of the flag to be configured.

[1] https://msdn.microsoft.com/en-us/library/dn642448.aspx

Suggested-by: Serti Ayoub <ayb.serti@gmail.com>
2016-11-30 14:20:15 -05:00
Brad King 315d44f773 VS: Add v141 flag table entry for `-Zc:inline-`
The negative form of the `-Zc:inline` flag is missing from

    c:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/Common7/IDE/VC/VCTargets/1033/cl.xml

so it was not included in our flag table automatically.  Add it manually.

Suggested-by: Serti Ayoub <ayb.serti@gmail.com>
2016-11-30 14:04:02 -05:00
Brad King d69cf34708 Merge branch 'cmake-server-pad-arguments' into release 2016-11-30 13:14:52 -05:00
Tobias Hunger 28e891f0c7 server-mode: Do not ignore the first cacheArgument on configure
SetCacheArgs skips the first argument it gets, so add some padding before
calling it.
2016-11-30 13:14:15 -05:00
Brad King db3499df5d CMake 3.7.1 2016-11-30 09:54:05 -05:00
Brad King f75d936a04 Merge branch 'vs15-rename-generator' into release 2016-11-29 11:05:29 -05:00
Roman Wüger d639620e14 VS: Rename VS 15 generator to 'Visual Studio 15 2017'
The final name of this VS version was announced:

 https://blogs.msdn.microsoft.com/visualstudio/2016/11/16/visual-studio-2017-rc/

Add the year to the generator name accordingly.  For convenience, map
the name without the year to the name with the year.
2016-11-29 10:46:36 -05:00
Brad King a04bbcde3d Merge branch 'libarchive-openssl-1.1' into release 2016-11-28 14:55:48 -05:00
Brad King 6f23daea43 libarchive: Add support for building with OpenSSL 1.1
OpenSSL 1.1 made some CTX structures opaque.  Port our code to use the
structures only through pointers via OpenSSL 1.1 APIs.  Use our adaption
layer to make this work with OpenSSL 1.0 and below.

Patch-by: Tomas Mraz <tmraz@redhat.com>
Patch-from: https://bugzilla.redhat.com/1383744
2016-11-28 14:55:42 -05:00
Brad King 7d433206cf libarchive: Add headers to adapt between OpenSSL 1.1 and older versions
Add private forwarding headers for `openssl/{evp,hmac}.h` to give us a
central place to add adaptation code to work across multiple
incompatible OpenSSL versions.  Provide compatibility implementations of
some OpenSSL 1.1 APIs when using older OpenSSL versions.
2016-11-28 14:55:42 -05:00
Brad King ca7a52fc59 Merge branch '16449-revert-xcode-system-includes' into release 2016-11-28 13:57:56 -05:00
Gregor Jasny 543dcb0ada Revert "Xcode: Obey SYSTEM keyword for includes (#15687)"
Revert commit v3.7.0-rc1~266^2 (Xcode: Obey SYSTEM keyword for includes,
2015-08-31).  It worked for C, C++, and Swift but not for GNU Assembly
files for which Xcode has no property to set flags.

Closes: #16449
2016-11-28 13:42:46 -05:00
Brad King 47dd761379 Merge branch 'doc-CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT' into release 2016-11-21 11:52:32 -05:00
Brad King df9fea7f49 Help: Document CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT variable
This variable documentation was simply missing.

Suggested-by: Craig Scott <craig.scott@crascit.com>
2016-11-21 11:52:00 -05:00
Brad King 37966a5799 Merge branch 'vs-15-preview-5' into release 2016-11-18 11:43:43 -05:00
Brad King 9fd9fd9861 Merge branch 'backport-android-info-variables' into release 2016-11-18 10:05:00 -05:00
Brad King ea8eba0bbf Android: Add CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE
Expose the binutils' machine name (typically used as a prefix on the
tool names) publicly.  This is expected to match the `gcc -dumpmachine`
value.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-18 10:03:15 -05:00
Brad King 0d3eb139e1 Android: Add CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG variable
The NDK provides prebuilt toolchain files in directories named for the
host architecture.  The NDK build system calls this `HOST_TAG`.
Expose the value publicly for use by clients that need to pass it
to external tools.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-18 10:03:07 -05:00
Brad King 236d6244a0 Android: Always set CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
When this variable is not set by the user or toolchain file, set it to
the default selected.  This will be useful for client code that needs to
pass the value to an external tool that needs to find the same toolchain
in the NDK.  Leave it empty for a standalone toolchain.

Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2016-11-18 10:02:57 -05:00
Brad King 4cddb46e64 Merge branch 'armcc-response-file-flag' into release 2016-11-15 10:13:37 -05:00
Ben Boeckel d608e85cfe ARMCC: Fix flag used for response files
ARMCC does not use the `@` sigil to indicate response files, but instead
the `--via=` flag. See the documentation here:

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491h/CHDCIEGC.html

Fixes: #16425
2016-11-15 09:31:33 -05:00
Brad King afb4a224be Merge branch 'cmake-server-fix-16423' into release 2016-11-14 11:24:56 -05:00
Tobias Hunger 516a2cd360 server-mode: Reset GlobalGenerator before configure
This is what cmake-gui also does to avoid CMake crashing on repeated
attempts to configure it.

Fixes #16423.
2016-11-14 11:06:37 -05:00
Brad King 04dce5f965 Merge branch 'cmake-server-fix-16422' into release 2016-11-14 10:19:12 -05:00
Tobias Hunger d0a707b3d0 server-mode: Prevent possible crash when watching directories
The `filename` passed by libuv may be `nullptr`, so handle that
explicitly.

Fixes: #16422
2016-11-14 10:18:44 -05:00
Brad King 7f0470cabc Merge branch 'FindBISON-fix-rebuild' into release 2016-11-14 10:14:13 -05:00
Brad King c087072e21 FindBISON: Do not rebuild every time when not VERBOSE
Since commit v3.7.0-rc1~348^2~3 (FindBISON: Change usage of [VERBOSE
<file>] to [VERBOSE [<file>]], 2016-07-16) we always list the VERBOSE
output file as an output of our custom command even if the option is not
used.  This causes the rule to re-run every time (e.g. with Ninja).
Revert one hunk from that change (that looks incorrect) to fix it.

Closes: #16426
2016-11-14 10:06:48 -05:00
Brad King 5cfc2e926a CMake 3.7.0 2016-11-11 09:24:18 -05:00
Brad King dc083f9534 Merge branch 'autorcc-only-no-rebuild' into release 2016-11-09 11:26:04 -05:00
Brad King e4232b82e6 QtAutogen: Do not re-generate AUTORCC outputs on every build
Refactoring in commit v3.6.0-rc1~134^2~10 (Autogen: Split out moc file
generation code to dedicated method, 2016-04-18) removed the
unconditional creation of the `<target>_automoc.cpp` file.  Now it is
generated only when `AUTOMOC` is enabled.  However, if this file is not
created then our internal `GenerateAll` setting is enabled on every
build, causing `AUTORCC` to re-generate its file(s) every time.  Fix the
`GenerateAll` setting to be used only for when autogen settings change.
The old logic was left from when we had only automoc.

Closes: #16413
2016-11-09 11:22:07 -05:00
Brad King 51112aaa18 Merge branch 'pkgconfig_imported_target' into release 2016-11-08 09:48:33 -05:00
Florent Castelli 61898de641 PkgConfig: Fix FindPkgConfig imported target feature
The options to the find_library call to create the imported target
used a literal string "HINTS /path NO_DEFAULT_PATH" instead of a
list of options. This resulted in never finding any library in my
testing.
2016-11-04 23:35:27 +01:00
Brad King adf5f253ec CMake 3.7.0-rc3 2016-11-04 08:30:22 -04:00
Brad King 8b75290f13 Merge branch 'cpackifw-search-algorithm' into release 2016-11-03 09:30:29 -04:00
Konstantin Podsvirov 20cc76c93a CPackIFW: Update search to find QtIFW distributed with QtSDK
Also avoid CMP0007 warnings.
2016-11-03 09:28:15 -04:00
Brad King 5f7f0ab517 Merge branch 'FindHDF5-restore-default-C' into release 2016-11-02 09:07:53 -04:00
Brad King ff3ccc1f23 FindHDF5: Restore pre-3.6 behavior of finding only C by default
Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching
to correctly find HL for all bindings, 2016-05-12) changed the default
behavior from finding only the C bindings to finding everything for the
enabled languages.  Restore the original behavior for compatibility and
because many projects need only the C bindings.

Closes: #16397
2016-11-02 09:06:56 -04:00
Brad King c555eca9ba Merge branch 'doc-cmake-qt-fixes' into release 2016-11-02 08:52:23 -04:00
Thiago M. de C. Marques 1c52e6511f Help: Update example Qt 5 find_package call to add missing component
Running CMake on it caused the following error:

    error: Target "publisher" links to target "Qt5::DBus" but the target
    was not found.  Perhaps a find_package() call is missing for an
    IMPORTED target, or an ALIAS target is missing?

Add the missing DBus component.
2016-11-02 08:51:57 -04:00
Marcus D. Hanwell 4c802a326b Help: Update example Qt 5 find_package call to use COMPONENTS 2016-11-02 08:51:53 -04:00
Brad King 2857ca89a2 Merge branch 'cpack-doc-typos' into release 2016-11-02 08:44:22 -04:00
Brad King 503766fa0e Merge branch 'fix-macos-sysroot' into release 2016-11-02 08:44:16 -04:00
Alex Turbov 4ab3b0c462 CPackRPM: Fix incorrect variable name in documentation
`CPACK_RPM_COMPONENT_INSTALL` is the correct variable to set to enable
component packaging.  `CPACK_RPM_PACKAGE_COMPONENT` is just set to a
component name when CPack calls corresponding installer.
2016-11-02 08:42:56 -04:00
Alex Turbov e6460e7d40 CPackDeb: Fix incorrect variable name in documentation
`CPACK_DEB_COMPONENT_INSTALL` is the correct variable to set to enable
component packaging.  `CPACK_DEB_PACKAGE_COMPONENT` is just set to a
component name when CPack calls corresponding installer.
2016-11-02 08:42:44 -04:00
Alex Turbov c75b8910a4 CPackDeb: fix copy-n-paste typos in documentation 2016-11-01 10:13:20 -04:00
Gregor Jasny 935041908d Darwin: Remove deployment target version check
Starting with Xcode 8 the SDK folder also contains an unversioned entry:

    MacOSX.sdk
    MacOSX10.12.sdk -> MacOSX.sdk

If this unversioned path is used CMake cannot detect the SDK version.

Furthermore, querying the SDK version via

    xcodebuild -sdk <sysroot> -version Path

gives bogus results for the Command Line Tools installed into `/`.

The OS X deployment target version and SDK version are not as tied as
they once were, so this check is now more trouble than it is worth.
Simply remove it.

Closes: #16323
2016-11-01 09:37:49 -04:00
Gregor Jasny 542d52f95e Revert "Xcode: Convert maybe unversioned OSX sysroot into versioned SDK path"
Revert commit v3.7.0-rc1~48^2 (Xcode: Convert maybe unversioned OSX
sysroot into versioned SDK path, 2016-09-25).  The replacement of
`else()` with `if(CMAKE_OSX_SYSROOT)` defeats the prior handling of
`if("x${CMAKE_OSX_SYSROOT}" MATCHES "/")`. This causes the combination

    -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="" -DCMAKE_OSX_SYSROOT:STRING=/

to not be honored and `-isysroot` to be emitted as a compiler flag
universally.  We will need another solution to the problem the
now-reverted commit was meant to address.

Closes: #16394
2016-11-01 09:31:08 -04:00
Brad King 77413bc5db Merge branch 'FindMatlab-fix-typo' into release 2016-10-28 15:20:30 -04:00