Commit Graph

6069 Commits

Author SHA1 Message Date
Brad King 910ea21004 Merge topic 'Threads-CXX'
fff9434d FindThreads: officially announce it works with only C++ enabled
66db914a FindThreads: fix printing a pointer value in test code
0b38424c FindThreads: make the call to try_run() work also if only C++ is enabled
9924a212 FindThreads: replace CheckIncludeFiles by CheckIncludeFile
a27bc0cc Check(Function|Library|Symbol)Exists: make it work if only C++ is enabled
7279f293 FindThreads: add simple testcase
2015-09-25 10:12:37 -04:00
Rolf Eike Beer 66db914adf FindThreads: fix printing a pointer value in test code
This causes a warning in C mode, and entirely fails in C++ mode:

CMake/Modules/CheckForPthreads.c: In function ‘runner’:
CMake/Modules/CheckForPthreads.c:34:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      printf("%d CC: %d\n", (int)args, cc);
                            ^
Use %p to print out a pointer value, which will not cause any problems.
2015-09-25 10:08:06 -04:00
Rolf Eike Beer 0b38424cf2 FindThreads: make the call to try_run() work also if only C++ is enabled
This isn't enough to make the whole module work with only C++ enabled.
2015-09-25 10:08:05 -04:00
Rolf Eike Beer 9924a212f6 FindThreads: replace CheckIncludeFiles by CheckIncludeFile
While at it, also add a branch using CheckIncludeFileCXX. Also give a better
error message if no supported language is enabled. C++ support isn't working
yet, but it has never worked.
2015-09-25 10:08:05 -04:00
Rolf Eike Beer a27bc0ccac Check(Function|Library|Symbol)Exists: make it work if only C++ is enabled 2015-09-25 10:07:54 -04:00
Stephen Kelly d13758514c Project: Don't require computed default dialect if compiler was forced.
Commit 7235334a (Project: Determine default language dialect for the
compiler., 2015-09-15) introduced a mechanism to determine the default
dialect used for the running compiler.  If conditions in
the <CompilerId>-<Lang>.cmake file are such that compile features for
that version of the compiler should be supported, the _DEFAULT_STANDARD
is set to the computed value.

However, the CMakeForceCompiler module allows users to bypass execution of the
compiler by CMake.  In that case, do not set the _DEFAULT_STANDARD variable at
all, which effectively disables the compile-features where the module is used.

No compile features have ever been recorded where the module is used so no
functionality is lost.
2015-09-22 22:13:15 +02:00
Brad King fcd9f85660 Merge topic 'ctest-variable-docs'
4da5a227 Help: document CTEST_CUSTOM_* variables
70c0cc72 ctest_read_custom_files: mention that ctest does this automatically
71c67e83 CTEST_CUSTOM_*: treat variables as lists
936a95d4 CTestCoverageCollectGCOV: replace tabulators
2015-09-22 10:47:05 -04:00
Brad King cec45e27f6 Merge topic 'pkg-config-variable-function'
51b83f14 FindPkgConfig: add a command to query arbitrary variables
7f7f1eec FindPkgConfig: use execute_process to strip trailing whitespace
2015-09-21 09:39:36 -04:00
Ben Boeckel 51b83f1445 FindPkgConfig: add a command to query arbitrary variables 2015-09-21 09:39:26 -04:00
Ben Boeckel 71c67e83bf CTEST_CUSTOM_*: treat variables as lists 2015-09-21 09:27:54 -04:00
Brad King 1f4358134f Merge topic 'cpack-verbatim-variables'
bc2e54db Introduction of CPACK_VERBATIM_VARIABLES variable
2015-09-21 09:25:34 -04:00
Roman Donchenko bc2e54db55 Introduction of CPACK_VERBATIM_VARIABLES variable
If variable is set to TRUE, values of all variables prefixed with CPACK_
will be escaped so special characters such as dolar sign, quotes or
foreward slash will not be lost. By default variable is treated as set
to FALSE for back compatibility.

The cpack_encode_variables macro is changed into a function to remove
scope pollution. There should be no other effects.
2015-09-20 23:39:03 +02:00
Brad King 109a7a245a Ninja: Detect MSVC /showIncludes prefix with compiler flags (#15596)
Move detection over to the compiler id logic where we have already
constructed the list of compiler flags from ARG1 and CMAKE_<LANG>_FLAGS.
Pass the flags when we execute "cl" with "/showIncludes".  Also pass "/c"
because we only need to compile, not link.  Check the compiler process
exit code before trusting its output.
2015-09-18 10:02:53 -04:00
Brad King 828c05b9f5 Ninja: Refactor lookup of cmcldeps location
This executable comes with CMake so just compute its location in
cmSystemTools instead of storing it in compiler information modules.
2015-09-18 10:01:25 -04:00
Brad King c73fbda66b CMakeDetermineCompilerId: Drop unused code path
The execute_process command always exists so we never need to fall back on
exec_program.
2015-09-18 10:01:25 -04:00
Brad King e3ace61212 Merge topic 'compute-default-dialect'
7235334a Project: Determine default language dialect for the compiler.
2015-09-18 10:00:51 -04:00
Stephen Kelly 7235334a2f Project: Determine default language dialect for the compiler.
Use the __cplusplus and __STDC_VERSION__ macros to automatically
determine the default dialect for the compiler while determining its
id and version.
2015-09-18 10:00:21 -04:00
Brad King 418f08d029 Merge topic 'FindPython-updates'
19934b67 FindPythonLibs: unset temporary _PREFIX variable
f8bc4e11 FindPythonLibs: Use python executable prefix as a hint
a9d32dff FindPythonLibs: Match include dir to library version
2015-09-18 09:56:44 -04:00
Brad King 309026147a Merge topic 'ms-manifest-files'
e134e53b Add support for *.manifest source files with MSVC tools
da00be63 MSVC: Rewrite manifest file handling with Makefile and Ninja
d488b5c9 Ninja: Always add OBJECT_DIR variable to link rules
6d620f5a VS: Add manifest tool settings to VS 8 and 9 project files
2015-09-18 09:56:39 -04:00
Brad King 0d5605120b Merge topic 'ExternalProject_stash_save_all'
7c5b6ed5 ExternalProject: Use "git stash save --all" only if supported (#15722)
b04c3815 ExternalProject: Use GIT_VERSION_STRING instead of custom method
2015-09-18 09:56:32 -04:00
Ben Boeckel 7f7f1eecfd FindPkgConfig: use execute_process to strip trailing whitespace 2015-09-17 21:08:19 -04:00
Brad King eb154697c0 Merge topic 'cpack-deb-fakeroot-removal'
becb14c9 CPack/DEB: test preserve extra config file permissions
7044e8ee CPackDeb: use of libarchive and removal of fakeroot
415405a3 cmArchiveWrite: control user/group, permissions and recursive file adding
4f2ff601 Tests: Make RunCMake.CPack error messages more readable
81b748ae cmGeneratedFileStream: Fix spelling in comment
2015-09-17 15:34:02 -04:00
Raffi Enficiaud 7044e8ee4b CPackDeb: use of libarchive and removal of fakeroot 2015-09-17 15:30:39 -04:00
David Gobbi 19934b67e9 FindPythonLibs: unset temporary _PREFIX variable
To avoid pollution, unset variables that are only meant for local use.
2015-09-17 12:43:56 -04:00
David Gobbi f8bc4e1118 FindPythonLibs: Use python executable prefix as a hint
If PYTHON_EXECUTABLE is set, then we should look for the libs in the
same prefix, e.g. /usr/local/python -> /usr/local/lib, and on Win32
/Python34/python.exe -> /Python34/libs.
2015-09-17 11:30:18 -04:00
David Gobbi a9d32dffb9 FindPythonLibs: Match include dir to library version
This commit ensures that FindPythonLibs has found the library before
before the search for the include dir begins.  The library prefix and
version can then be used to find the matching include dir.
2015-09-17 11:28:49 -04:00
Brad King bd0d9407cd Merge topic 'FindPython-updates'
ea2db3bb FindPythonLibs: Fix OS X framework include directory search path
c57334fa FindPythonLibs: Remove PYTHON_INCLUDE_PATH as input
2db092b1 FindPython{Interp,Libs}: Add versions 3.5 and 3.6
2015-09-17 11:27:35 -04:00
Brad King e134e53b47 Add support for *.manifest source files with MSVC tools
Classify .manifest sources separately, add dependencies on them, and
pass them to the MS manifest tool to merge with linker-generated
manifest files.

Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2015-09-17 10:21:32 -04:00
Brad King da00be6359 MSVC: Rewrite manifest file handling with Makefile and Ninja
Add a helper class private to "cmcmd.cxx" to contain the implementation.
Update the link logic to use the intermediate files directory for each
target to hold manifest and resource files before embedding into the
binary.  Preserve the old behavior of placing the .manifest file next
to the binary when not linking incrementally even though it will be
embedded.
2015-09-17 10:21:32 -04:00
Daniele E. Domenichelli 7c5b6ed5c8 ExternalProject: Use "git stash save --all" only if supported (#15722)
The --all option for git-stash wasn't introduced until git version 1.7.6.
2015-09-17 12:05:07 +02:00
Daniele E. Domenichelli b04c38159e ExternalProject: Use GIT_VERSION_STRING instead of custom method
GIT_VERSION_STRING is available in FindGit.cmake since CMake version 2.8.8
2015-09-17 11:47:26 +02:00
David Gobbi ea2db3bb02 FindPythonLibs: Fix OS X framework include directory search path
We use PATH_SUFFIXES to append "python<v>" to each candidate path.  Do
not append it to the constructed list of python framework include
directories.  Otherwise the combined path will never exist.  Note that
the code doesn't yet try to match the suffixes "m" and "u" between the
executable, library, and include directory.
2015-09-16 11:30:31 -04:00
David Gobbi c57334fae9 FindPythonLibs: Remove PYTHON_INCLUDE_PATH as input
This cmake variable has been deprecated for over a decade, and using it
as an input could potentially cause unexpected results.  We still need
to keep it as an output variable for compatibility though.
2015-09-16 08:59:59 -04:00
Brad King 6a06ec8d8a Modules: Drop unused VTK 4.0 support modules
These modules have been unused since commit v3.1.0-rc1~355^2 (FindVTK:
Drop support for finding VTK 4.0, 2014-06-27).
2015-09-16 08:58:16 -04:00
David Gobbi 2db092b1f6 FindPython{Interp,Libs}: Add versions 3.5 and 3.6 2015-09-16 08:54:04 -04:00
Andreas Bergmeier 2ec97b1302 FindProtobuf: Add protobuf_generate_python function 2015-09-15 08:27:55 -04:00
Brad King f660a6890c Merge topic 'FindHDF5-updates'
fd26a19a FindHDF5: Add NAMES_PER_DIR and introduce HDF5_PREFER_PARALLEL
2015-09-14 09:20:01 -04:00
Paul Romano fd26a19afc FindHDF5: Add NAMES_PER_DIR and introduce HDF5_PREFER_PARALLEL
The calls to find_program now use NAMES_PER_DIR so that the first executable
(e.g. h5pcc) appearing on their PATH will get chosen. The HDF5_PREFER_PARALLEL
variable swaps the search order when it is set to true in the event that a
directory being search contains both h5cc and h5pcc.
2015-09-11 14:27:08 -04:00
Brad King 97ffbcd8a4 CMakeParseImplicitLinkInfo: Do not match "VAR=..." as link line (#15737)
When compiling with

  LDFLAGS='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'

the compiler output includes a line like

  COLLECT_GCC_OPTIONS='-specs=/usr/lib/rpm/redhat/redhat-hardened-ld' ...

that our link line regex matches due to an argument ending in "-ld".
Since it is not really the link line no implicit link information is
dectected.  Exclude "VAR=..." lines from consideration as link lines to
fix this.
2015-09-11 13:50:34 -04:00
Brad King 150e1b27c5 Features: Extract strings from test binary more reliably (#15736)
Since commit v3.1.0-rc1~635^2~7 (project: Add infrastructure for
recording CXX compiler features, 2013-10-17) we compile a test source to
a binary and then extract "<LANG>_FEATURES:..." strings from the binary
with the file(STRINGS) command.  Add a newline at the beginning of the
string literal to be sure file(STRINGS) can extract the first entry as a
string independent of whatever else the compiler may put before the
storage it allocates for the literal within the binary.
2015-09-10 14:41:05 -04:00
Brad King 72797dec8f Merge topic 'cpack-cmake-special-characters-mangling'
2a7772ff CPack: don't mangle CMake-special characters when applying default settings
2015-09-10 11:29:58 -04:00
Brad King 3d7c366a3a Merge topic 'cpack-deb-component-dependencies'
4de7c812 CPack/Deb: enable per component setting of dependencies
2015-09-10 11:29:56 -04:00
Brad King bae6eee13a Merge topic 'FindwxWidgets-updates'
d8e233d8 Help: Add notes for topic 'FindwxWidgets-updates'
15aacb68 FindwxWidgets: Add wxWidgets webview component
8122fbd0 FindwxWidgets: Expect wxWidgets 3.1
6089fde5 FindwxWidgets: allow specifying required version
2015-09-10 11:29:54 -04:00
Brad King fe0e9a35ce Merge topic 'FindSWIG-noproxy'
96a8890c FindSWIG: Do not generate erroneous outputs with -noproxy
2015-09-10 11:29:52 -04:00
Brad King 51ec922223 Merge topic 'mingw-compile-features-C'
2fbc41f3 Record compile features for GNU C on Windows (#15727)
2015-09-10 11:29:48 -04:00
Brad King 1e2f5dc922 Merge topic 'ar-option-order'
08659ff4 Re-order 'ar' options 'cq' => 'qc'
2015-09-10 11:29:46 -04:00
Brad King 5ed30f30f5 Merge topic 'ghs-updates'
04de9007 GHS: Fix generated file path slashes and quoting for 6.1.6
fbe0de92 GHS: Tell MULTI to delete .elf.ael file
63591b94 GHS: Find latest 'int' directory
2015-09-10 11:29:44 -04:00
Domen Vrankar 4de7c8126b CPack/Deb: enable per component setting of dependencies 2015-09-09 23:57:58 +02:00
Roman Donchenko 2a7772ff4c CPack: don't mangle CMake-special characters when applying default settings
Mangling is prevented by using a function instead of a macro for setting
default value of some CPack variables. Function is meant for internal use
in CPack.cmake only.
Old macro is deprecated but kept for backwards compatibility - was
intended for internal use only as it can't be used for CPack after
CPack.cmake script is included.
Patch removes local workarounds that were required by old macro,
fixes default setting of variables that by default inherit value from
another variable that already went through old default setting macro
(e.g. value of CPACK_PACKAGE_INSTALL_REGISTRY_KEY caused error for
wrong escapes if CPACK_PACKAGE_INSTALL_DIRECTORY contained escaped
back slashes) and provides a test for correct escaping of characters.
2015-09-09 22:21:07 +02:00
Brad King f281c6214b Merge topic 'more-swift2-fixes'
9cdf6ef4 Swift: Add proper Swift compiler test
1aa29f0d Swift: Remove positive Swift language tests
d778a1c2 Swift: Require Xcode 6.1 and for MacOS X at least SDK 10.10
4da60024 Swift: Fix Compiler-Id detection for Swift 2
874a265c Swift: Make SwiftMix compatible with Swift 2
2015-09-09 11:30:50 -04:00