Commit Graph

5711 Commits

Author SHA1 Message Date
Raffi Enficiaud 49c8dcf7bb FindMatlab: Rewrite module and provide a usage API
Implement a brand new FindMatlab module:

- Add support for versions and components.
- Find Matlab and its version in a more precise and multiplatform way.
- Add API to create a new mex extension with documentation.
- Add API to add matlab unit tests (with or without the unit test framework).
- Find as much as possible based on a single Matlab_ROOT_DIR cache entry
  and allow the user to change it to re-find everything.
2015-03-17 09:47:04 -04:00
Brad King cce9671b4f Merge topic 'ExternalProject-byproducts-tokens'
86032ae0 ExternalProject: Replace placeholder tokens in BYPRODUCTS
2015-03-10 09:12:32 -04:00
Brad King 976c3ccc6a Merge topic 'UseSWIG-fix-CMP0054-warnings'
458c9e95 UseSWIG: Avoid if() auto-dereferene in quoted arguments
2015-03-10 09:12:30 -04:00
Brad King 458c9e95de UseSWIG: Avoid if() auto-dereferene in quoted arguments
Protect against variables named "CSHARP", "PERL", "PYTHON", or "UNKNOWN"
when CMP0054 is not set to NEW.

Reported-by: Tuukka Pasanen <tuukka@iocaste.ilmi.fi>
2015-03-09 16:35:08 -04:00
Gaëtan Lehmann 86032ae0eb ExternalProject: Replace placeholder tokens in BYPRODUCTS
This allows the developer to specify the byproducts relative to the
binary directory without the need to set the binary directory location
explicitly.
2015-03-09 10:04:44 -04:00
Nils Gladitz b0852ebc09 CPackWIX: Support patching of root <Feature> elements. 2015-03-06 21:06:42 +01:00
Johan Andruejol e97141c2bc InstallRequiredSystemLibraries: Add option to specify install COMPONENT
Previously the module did not support projects using installation
components because install(PROGRAMS) was never called with COMPONENT.
Add an option to specify the COMPONENT so that projects doing this do
not have to resort to using CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP and
writing the install rule by hand.
2015-03-03 09:17:47 -05:00
Brad King d6a320ab5e InstallRequiredSystemLibraries: Format documentation 2015-03-03 09:14:29 -05:00
Роман Донченко 3b9f963f3f CPack: be more stringent when selecting variables to encode
The old version would admit, for example, a variable named "xxxCPACK".
2015-03-02 09:01:31 -05:00
Brad King 5261c357ae Merge topic 'locale-agnostic-findhg'
cfb22354 FindHg: Run hg with C locale when querying its version.
2015-03-02 08:36:31 -05:00
Brad King b3381c5c79 Merge topic 'modules-check-ARGC'
a7631fc4 Modules: Check for ARGC before using ARGV#
2015-03-02 08:36:29 -05:00
Nils Gladitz cfb22354b8 FindHg: Run hg with C locale when querying its version.
LANGUAGE should be ignored when LC_ALL=C.
It seems this isn't the case with hg so set both.
2015-02-28 14:22:41 +01:00
Daniele E. Domenichelli a7631fc4e0 Modules: Check for ARGC before using ARGV#
ARGV# could be defined from a parent scope.
2015-02-27 10:59:23 -05:00
Domen Vrankar 3cf86d9e7b Merge branch 'cpack_rpm_mulit_prefix_fixup' into cpack_rpm_mulit_prefix_fixup-for-master
Resolve conflict in Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
by combining the changes from both sides.
2015-02-27 08:42:29 -05:00
Domen Vrankar 1cbb156253 CPackRPM: Fix handling of relocation prefix parent directories
In commit 3ec02547 (CPackRPM: Allow multiple path relocation prefixes
for one package, 2015-01-21) a regression was introduced that causes
parent directories of relocation paths to be incorrectly included in
the rpm.  Fix this and make the test case more strict to cover it.
2015-02-27 08:37:24 -05:00
Brad King 4817d2814a Merge topic 'windows-rc-enable-later'
772eae44 RC: Add platform-specific preprocessor definitions (#15404)
4300de3e RC: Enable language after C, CXX, or Fortran is enabled (#15404)
1de4a0fb RC: Drop unused CMAKE_COMPILE_RESOURCE variable setting
2015-02-26 08:52:09 -05:00
Brad King e4419c9f88 Merge topic 'ExternalData-url-algo-map'
f7f4ca55 ExternalData: Add support for custom algorithm-to-URL mapping
2015-02-26 08:51:52 -05:00
Brad King 772eae4464 RC: Add platform-specific preprocessor definitions (#15404)
In Platform/Windows-MSVC the C and CXX flags are initialized to
contain preprocessor definitions describing the platform.  On
WinCE platforms this may not be just -DWIN32.  This information
may be important to RC sources too, so add such preprocessor
definitions to the default RC flags.

Suggested-by: Gunnar Roth <gunnar.roth@gmx.de>
2015-02-25 11:29:45 -05:00
Brad King 4300de3e27 RC: Enable language after C, CXX, or Fortran is enabled (#15404)
The RC language is special in that it is automatically enabled
on Windows-based platforms when another primary language is
enabled.  Move enablement of RC from early in the enablement
of the other language to late.  This will allow it to use
information detected as part of enabling C, CXX, or Fortran.
2015-02-25 11:16:51 -05:00
Brad King 1de4a0fb09 RC: Drop unused CMAKE_COMPILE_RESOURCE variable setting
This variable has long been replaced by CMAKE_RC_COMPILE_OBJECT.
Stop setting it in platform modules.
2015-02-25 11:16:19 -05:00
Brad King fa6da5fcd8 Merge topic 'CheckCompilerFlag-use-FLAGS'
5d5067ae Check*CompilerFlag: Refactor method used to pass flags
2015-02-25 09:03:07 -05:00
Brad King 71a610ff29 Merge topic 'refine-MSVC-ARM-WinCE'
3d612c73 MSVC: Compile with arch-specific flags on ARM platforms (#14552)
886dcaa7 MSVC: Distinguish among ARM architectures more precisely (#14552)
ea986676 MSVC: Define /DWINCE when building for WinCE platforms (#14552)
2015-02-25 09:03:03 -05:00
Brad King f7f4ca55bd ExternalData: Add support for custom algorithm-to-URL mapping
Allow URL templates to contain a %(algo:<key>) placeholder that is
replaced by mapping the canonical hash algorithm name through a map
defined by the <key>.

Extend the Module.ExternalData test to cover the behavior.
Extend the RunCMake.ExternalData test to cover error cases.
2015-02-25 08:28:05 -05:00
Mark Abraham 5d5067ae57 Check*CompilerFlag: Refactor method used to pass flags
Refactor the Check*CompilerFlag modules to pass the flags to
Check*SourceCompiles using CMAKE_REQUIRED_FLAGS instead of
CMAKE_REQUIRED_DEFINITIONS.  Both end up being used, but the variable
for "FLAGS" is more precise.
2015-02-24 09:45:19 -05:00
Gunnar Roth 3d612c7352 MSVC: Compile with arch-specific flags on ARM platforms (#14552)
Define the exact ARM architecture name as a preprocessor symbol.
Compile with /QRarch4T or /QRarch5T on ARMV4I or ARMV5I.
2015-02-24 09:33:08 -05:00
Gunnar Roth 886dcaa7c5 MSVC: Distinguish among ARM architectures more precisely (#14552)
Detect the exact ARM architecture instead of just "ARM".  Treat "ARM" as
an architecture family that includes THUMB (ARMV4I and ARMV5I).
2015-02-24 09:33:08 -05:00
Gunnar Roth ea98667682 MSVC: Define /DWINCE when building for WinCE platforms (#14552) 2015-02-24 09:33:06 -05:00
Brad King d518aa79a4 Merge topic 'FindMatlab-remove-trailing-lines'
08d1e65a FindMatlab: Remove trailing blank lines
2015-02-24 09:13:36 -05:00
Brad King 41a16f07c3 Merge topic 'osx-framework-search-platform-SDKs'
0ee2a004 OS X: Add platform-specific Frameworks search path
2015-02-24 09:12:45 -05:00
Brad King 13f9f848de Merge topic 'FeatureSummary-no-duplicates'
38ef2b73 FeatureSummary: Print each feature info only once
2015-02-24 09:12:43 -05:00
Brad King 133ab7a447 Merge topic 'rpm_at_in_path'
5857ca5e CPackRPM: Drop explicit handling of '@' symbols that breaks them (#14782)
2015-02-24 09:12:39 -05:00
Brad King 91234717f7 Merge topic 'GetPrerequisites-file-command-update'
fe558718 GetPrerequisites: Update output matching for newer 'file' versions
2015-02-24 09:12:37 -05:00
Brad King 206ce77781 Merge topic 'ctest-output-options'
ff1ddd2a ctest_upload: Add QUIET option
0b87b2a3 ctest_memcheck: Add QUIET option
fc58bdb9 ctest_coverage: Add QUIET option
876a680d ctest_test: Add QUIET option
49ba4545 ctest_build: Add QUIET option
f999dc0b ctest_configure: Add QUIET option
645ad117 ctest_update: Add QUIET option
19d1a559 ctest_start: Add QUIET option
1643b905 ctest_submit: Add QUIET option
12db1139 CTest: Add cmCTestOptionalLog macro
2015-02-24 09:12:33 -05:00
Brad King 08d1e65a9a FindMatlab: Remove trailing blank lines 2015-02-24 09:06:39 -05:00
Domen Vrankar 5857ca5e0d CPackRPM: Drop explicit handling of '@' symbols that breaks them (#14782)
The change in commit v2.8.12~218^2 (CPackRPM protect '@' character in
filename processed in the spec file, 2013-07-05) was not necessary after
commit v2.8.12~439^2 (Add support for componentized USER spec file,
2013-04-01).  The latter replaced ${VAR} references in the spec file
template string with \@VAR\@ references, thus protecting '@' symbols
automatically.  This caused CPackRPM to break paths with @ symbols.
Revert the change to fix the behavior, and add a test case.
2015-02-24 08:44:36 -05:00
Gregor Jasny 0ee2a004e7 OS X: Add platform-specific Frameworks search path
Otherwise find_library is unable to lookup the XCTest framework which
is not located in the SDK serach path:

In the 10.10 SDK the SDK frameworks are located here:

  $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks

whereas the Platform SDKs are located here:

  $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/Library/Frameworks

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-02-23 13:10:52 -05:00
Marcus Meissner fe558718b3 GetPrerequisites: Update output matching for newer 'file' versions
Detect PIE binaries with newer 'file' (5.22).  It no longer prints
"(uses shared libraries)" but does print "interpreter":

 # file 5.19
 $ file /usr/bin/su
 /usr/bin/su: ... shared object, ..., dynamically linked (uses shared libs), ...

 # file 5.22
 $ file /usr/bin/su
 /usr/bin/su: ... shared object, ..., dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, ...
2015-02-23 11:50:29 -05:00
Gregor Jasny 38ef2b7363 FeatureSummary: Print each feature info only once
If a feature is added multiple times via ADD_FEATURE_INFO it should
appear only once in FEATURE_SUMMARY.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-02-23 11:39:17 -05:00
Brad King 7cebc5acac Merge topic 'rpm_package_architecture'
b6f94e6b Help: Add notes for topic 'rpm_package_architecture'
f174b919 Tests: CpackRPM test component architecture
3aa9f89d CPackRPM: Support rpm architecture in components
761562fe CPackRPM: Fix CPACK_RPM_PACKAGE_ARCHITECTURE
2015-02-23 11:06:05 -05:00
Joshua A Clayton 3aa9f89dbb CPackRPM: Support rpm architecture in components
CPACK_RPM_<component>_PACKAGE_ARCHITECTURE variable allows
the same project to support packages of different architectures
including noarch, native and foreign architectures.
2015-02-23 10:48:27 -05:00
Joshua A Clayton 761562fea6 CPackRPM: Fix CPACK_RPM_PACKAGE_ARCHITECTURE
BuildArch must only be added to a spec file for a "noarch" package or
rpmbuild will fail.  For all others, the --target argument sets the
package architecture.  In the process of Fixing rpm architecture, we
make it mandatory, adding a default value of native architecture (the
same as if no --target argument is present).  Update the documentation
at the top of the file to make it mandatory.
2015-02-23 10:48:10 -05:00
Brad King 88aeb64ddf Merge topic 'fix-graphiz-typo'
f93438cd Fix typo, graphiz -> graphviz.
2015-02-23 10:26:40 -05:00
Brad King 15c409f467 Merge topic 'CheckStructHasMember-fix-null-deref-warning'
e1da4dc2 CheckStructHasMember: fix null deref warning (#15413)
2015-02-23 10:26:36 -05:00
Brad King ae7c5f05c3 Merge topic 'FindCurses-remove-unused-check'
b4005a3a FindCurses: Drop unused check for cbreak in tinfo library
2015-02-23 10:26:32 -05:00
Brad King 1eb192905d Merge topic 'private-FindJsonCpp'
a41d621d bootstrap: Add --(no-)system-jsoncpp options
a5768442 FindJsonCpp: Drop new module due to upstream jsoncpp providing package
2015-02-23 10:26:30 -05:00
Zack Galbreath fc58bdb9ad ctest_coverage: Add QUIET option 2015-02-23 10:02:00 -05:00
Stephen Kelly f93438cd83 Fix typo, graphiz -> graphviz. 2015-02-21 10:27:54 +01:00
Peter Wu e1da4dc2dd CheckStructHasMember: fix null deref warning (#15413)
Clang Static Analyzer is so smart that it reports a defect when this
intended null-deref is encountered.  Use sizeof instead which has no
runtime effects.
2015-02-20 11:21:43 -05:00
Brad King d95d4c2c77 Merge branch 'FindCurses-remove-unused-check' into release 2015-02-20 08:42:35 -05:00
Brad King b4005a3ad9 FindCurses: Drop unused check for cbreak in tinfo library
This check was first added by commit v3.0.0-rc5~6^2 (FindCurses: Detect
and satisfy ncurses dependency on tinfo, 2014-01-17), but it is not
correctly conditioned on existence of the tinfo library and fails if the
code path is taken but tinfo is not found.  However, since commit
v3.2.0-rc1~369^2 (FindCurses: Drop search for deprecated HP-UX cur_colr
library, 2014-11-17) the result of the check is not used, so simply drop
it.
2015-02-20 08:41:36 -05:00