Commit Graph

5937 Commits

Author SHA1 Message Date
Brad King bd2ef44b55 Intel: Disable Fortran optimizations for Debug config on Windows (#15583)
The "/Od" flag is used for C and C++ languages in this configuration so
we should use it for Fortran too.

Suggested-by: Oleg V. Zhylin <ovz@yahoo.com>
2015-05-26 10:25:31 -04:00
Brad King 0de47b05f7 ExternalData: Add option to disable use of symlinks
Add an ExternalData_NO_SYMLINKS to enable use of copies instead of
symlinks to populate the real data files behind a DATA{} reference.
This will be useful on UNIX-like systems when the underlying filesystem
does not actually support symbolic links.

Suggested-by: Matt McCormick <matt.mccormick@kitware.com>
2015-05-22 09:21:47 -04:00
Brad King 3541fc73a1 Merge topic 'ExternalProject_FixLog'
a0d620de ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567)
2015-05-21 09:03:57 -04:00
Brad King 41d833e1e9 Merge topic 'cleanup-module-policies'
b3795df2 FortranCInterface: Do not use cmake_policy(VERSION)
a4596f20 CheckTypeSize: Do not use cmake_policy(VERSION)
2015-05-21 09:03:38 -04:00
Brad King a696974298 Merge topic 'CheckTypeSyze-CMP0054'
6784f0a6 CheckTypeSize: Avoid if() auto-dereferene in quoted arguments (#15571)
2015-05-21 09:03:37 -04:00
Daniele E. Domenichelli a0d620de82 ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567) 2015-05-20 15:43:15 +02:00
Brad King b3795df2f4 FortranCInterface: Do not use cmake_policy(VERSION)
Do not force a specific policy version in the module because it prevents
projects from setting newer policies to NEW.  In particular, projects
may want to set CMP0056 to NEW to affect any try_compile calls in this
module.

Use of this was added in commit v2.8.2~714 (FortranCInterface: Use CMake
2.8.0 behavior, 2009-11-17) in order to set CMP0007 to NEW.  Simply set
this policy explicitly instead.
2015-05-19 13:00:38 -04:00
Brad King a4596f2048 CheckTypeSize: Do not use cmake_policy(VERSION)
Do not force a specific policy version in the module because it prevents
projects from setting newer policies to NEW.  In particular, projects
may want to set CMP0056 to NEW to affect any try_compile calls in this
module.

Use of this was added in commit v2.8.2~539 (New CheckTypeSize for OS X
Universal Binaries, 2009-12-17) and updated in commit v3.1.0-rc1~511^2~1
(Do not change minimum required version in modules, 2014-05-07).  The
history does not clearly explain why a specific policy version was
introduced.  If specific policies need to be NEW then we can add
explicit settings for them.
2015-05-19 12:56:07 -04:00
Rolf Eike Beer 6784f0a6eb CheckTypeSize: Avoid if() auto-dereferene in quoted arguments (#15571)
Exposed by a CMP0054 warning.  Set CMP0054 to NEW since no code in this
module depends on the old behavior.
2015-05-19 12:47:24 -04:00
Brad King 00ccfff2bc Merge topic 'cpack-ifw-updates'
342d15cb Update packaging of CMake for QtIFW 2.0
9a0ba4d2 CPackIFW: Add QtIFW 2.0 support
2015-05-18 09:56:17 -04:00
Raffi Enficiaud efab80501e CPack/DEB: reworked documentation 2015-05-15 23:07:49 +02:00
Brad King 1911cb2173 Merge topic 'FindSquish-sh-exit'
12b85b17 FindSquish: Avoid bash-specific behavior in test script (#15568)
2015-05-15 11:22:26 -04:00
Konstantin Podsvirov 9a0ba4d24a CPackIFW: Add QtIFW 2.0 support
Add variables:

- CPACK_IFW_FRAMEWORK_VERSION
- CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
- CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
- CPACK_IFW_PACKAGE_CONTROL_SCRIPT
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
- CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
- CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
- CPACK_IFW_VERBOSE
2015-05-15 11:02:49 -04:00
Brad King a86ddbe56e Merge topic 'FindHDF5-version-support'
56858178 FindHDF5: Add version support
4bd122ad FindHDF5: Check for a few H5pubconf*.h name variants
2015-05-14 10:27:42 -04:00
Felix Geyer 12b85b1791 FindSquish: Avoid bash-specific behavior in test script (#15568)
Fix Squish4RunTestCase.sh to be POSIX compliant by exiting with 255
explicitly instead of depending on bash to translate -1 to 255.  This
script is used by the SQUISH_V3_ADD_TEST and SQUISH_V4_ADD_TEST macros
provided by FindSquish.
2015-05-14 08:53:33 -04:00
Axel Huebl 5685817874 FindHDF5: Add version support
Detect the HDF5 version and set HDF5_VERSION just as we
detect HDF5_IS_PARALLEL from the header already.
2015-05-13 10:00:55 -04:00
Brad King 4bd122ad9c FindHDF5: Check for a few H5pubconf*.h name variants
Some distros package H5pubconf.h as "H5pubconf-32.h" or "H5pubconf-64.h"
depending on the architecture.  Look for all of these names.
2015-05-13 09:59:43 -04:00
Felix Geyer 7953867ba4 FindJava: Fix OpenJDK 8 version detection (#15565)
The openjdk-8 (8u45-b14-2) package on Debian unstable has extra
text after the version number components.  Match this and add it
to the reported version string.
2015-05-12 13:46:12 -04:00
Brad King 70d48e1287 Merge topic 'cpack-deb-component-dependencies'
1237d5fa Help: Add notes for topic 'cpack-deb-component-dependencies'
e3f522f6 CPack/DEB per component dependencies
2015-05-12 09:12:54 -04:00
Brad King a5bab6e1a4 Merge topic 'cpack-not-running-tests'
7c103be8 CPack: Enable DEB and RPM tests more reliably
2015-05-12 09:12:52 -04:00
Brad King ffd5d09225 Merge topic 'find_package-no-cmake-gui-paths'
1506f9ca find_package: Drop search in recent cmake-gui locations
8d484463 FindFLTK: Drop search in recent cmake-gui locations
2015-05-12 09:12:50 -04:00
Brad King 55fe56444f Merge topic 'ExternalProject-improve-missing-source-error'
dcb18836 ExternalProject: Improve error when SOURCE_DIR is missing (#15560)
2015-05-12 09:12:43 -04:00
Brad King cca3bbde98 Merge topic 'ninja-gcc-windows'
cf8ce7a3 RC: Do not override MinGW Makefiles generator preference
ca658a45 Ninja: Use forward slashes for linking with any GCC on Windows (#15439)
2015-05-12 09:12:41 -04:00
Domen Vrankar 7c103be8de CPack: Enable DEB and RPM tests more reliably
CPack DEB and RPM generators were not used for some tests because
CPACK_BINARY_DEB and CPACK_BINARY_RPM variable were not set.  Fix this,
simplify generator selection in CTEST_RUN_CPackComponentsForAll, and fix
bugs that were detected after tests were run.
2015-05-12 08:56:34 -04:00
Brad King cf8ce7a39e RC: Do not override MinGW Makefiles generator preference
Update logic added in commit 957c2aac (RC: Simplify selection of
resource compiler based on C/C++ toolchain, 2015-05-07) to avoid
overriding CMAKE_GENERATOR_RC.  The MinGW and MSYS Makefiles
generators use it to select a windres next to the compiler even
if it is not in the PATH.
2015-05-11 09:00:25 -04:00
Raffi Enficiaud e3f522f6e4 CPack/DEB per component dependencies
Dependencies may now be set per component
2015-05-08 23:36:26 +02:00
Brad King 8d48446372 FindFLTK: Drop search in recent cmake-gui locations
This is not done by any other find modules.
2015-05-08 11:26:56 -04:00
Brad King 715b3edf7d Merge topic 'WCDH-CMP0054-safety'
65e6b115 WCDH: Fix condition when variables named "FILE" or "PREFIX" are defined
2015-05-08 09:41:22 -04:00
Brad King e38a2b5953 Merge topic 'ninja-gcc-windows'
20560e8d Ninja: Do not use newlines in response files with Windows GNU tools (#15439)
b3de0dfe Ninja: Use forward slashes for any GCC on Windows (#15439)
378c2a0e Ninja: Refactor detection of MinGW tools on Windows
957c2aac RC: Simplify selection of resource compiler based on C/C++ toolchain
2015-05-08 09:41:20 -04:00
Brad King dcb188363d ExternalProject: Improve error when SOURCE_DIR is missing (#15560)
Mention the SOURCE_DIR that we checked and found empty or missing
so that the user can see the full path to what we expected to find.
2015-05-08 09:20:43 -04:00
Brad King 8102417695 Merge topic 'cpack-rpm-debug-log-fix'
1a2a73a5 CPack/RPM fix output in debug log
2015-05-07 14:25:40 -04:00
Brad King 6b9e2f7100 Merge topic 'cpack-deb-component-auto-discovery'
4588a169 CPack/DEB component dependency auto-discovery
2015-05-07 14:25:31 -04:00
Raffi Enficiaud 4588a1697f CPack/DEB component dependency auto-discovery
Dependency auto-discovery can now be set per component
2015-05-07 14:21:57 -04:00
Brad King 957c2aac7f RC: Simplify selection of resource compiler based on C/C++ toolchain
Revert the refactoring by commit v2.8.11~105^2~1 (Ninja: use MinGW
generator code in EnableLanguage, 2013-03-09) and move the MinGW-
specific logic back to the "MinGW Makefiles" generator.  Instead teach
the platform information modules for GNU and MSVC on Windows to set the
preferred RC compiler just before enabling the RC language.  This way
we choose the RC compiler based on the C/C++ toolchain that is actually
enabled.
2015-05-07 11:43:02 -04:00
Brad King 65e6b1152f WCDH: Fix condition when variables named "FILE" or "PREFIX" are defined
Reported-by: Kevin Godby <godbyk@gmail.com>
2015-05-07 09:00:45 -04:00
Brad King b492a17611 Merge topic 'hp-gnu-asm'
f4734270 HP-UX: Add GNU compiler information for ASM language
2015-05-05 09:35:28 -04:00
Brad King 2d02986b7c Merge topic 'InstallRequiredSystemLibraries-vs2015'
9b2778d4 InstallRequiredSystemLibraries: Update for VS 2015 (#15552)
2015-05-05 09:35:25 -04:00
Thomas Orozco 1a2a73a518 CPack/RPM fix output in debug log
output RPMBUILDOUT when intended
2015-05-05 07:47:10 +02:00
Brad King 9b2778d412 InstallRequiredSystemLibraries: Update for VS 2015 (#15552)
The part of the MS C Runtime library that applications need to
distribute has been renamed from "msvcr*.dll" to "vcruntime*.dll"
starting with VS 2015.  See the Visual C++ Team Blog:

 Introducing the Universal CRT
 http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx
2015-05-04 12:36:12 -04:00
Brad King 0f927b440a FindGTest: Fix parsing of test macro calls with spaces (#15553)
Tolerate spaces before the open paren and after the test name before the
comma.
2015-05-04 11:28:50 -04:00
Brad King f47342701c HP-UX: Add GNU compiler information for ASM language
Suggested-by: Gerhard Grimm <gerhard.grimm@detec.com>
2015-05-04 11:06:16 -04:00
Brad King 088d27c38b Merge topic 'FindwxWidgets-versioned-executable'
1b04561e FindwxWidgets: Search for wx-config-3.0 in addition to wx-config (#15540)
2015-04-30 10:32:13 -04:00
Brad King 1c3158558c Merge topic 'cpack-deb-component-description'
2f0afffa CPackDEB component description
2015-04-30 10:32:06 -04:00
Brad King b39929ab42 Merge topic 'revert-CMP0057'
32a2f414 Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation."
2015-04-30 10:32:01 -04:00
Nils Gladitz 32a2f41402 Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation."
This reverts commit 242c3966 (add_custom_command: Diagnose
MAIN_DEPENDENCY limitation, 2015-03-09) and the follow up commit
b372a99a (UseSWIG: Do not use MAIN_DEPENDENCY on custom commands,
2015-03-26).

I misdiagnosed the underlying issue that prompted creation of policy CMP0057.
The actual issue surfaces when a single custom command's MAIN_DEPENDENCY
is listed in more than one target; this issue will have to be addressed
independently.
2015-04-30 10:20:20 -04:00
Felix Geyer 4e70fa5cbf CPack: Fix typo in CPACK_INSTALL_CMAKE_PROJECTS docs (#15543) 2015-04-29 15:21:07 -04:00
Orion Poplawski 1b04561edb FindwxWidgets: Search for wx-config-3.0 in addition to wx-config (#15540)
The Fedora package installs 'wx-config' as 'wx-config-3.0' so look
for the latter name too.
2015-04-29 12:51:07 -04:00
Raffi Enficiaud 2f0afffabd CPackDEB component description
Support for setting different description
for each component.
2015-04-29 18:05:36 +02:00
Brad King 70d54b03fd Merge topic 'InstallRequiredSystemLibraries-fix-mbcs'
ff183986 InstallRequiredSystemLibraries: Fix MBCS MFC detection (#15531)
2015-04-28 13:55:52 -04:00
Brad King 7244e8452f ctest: Consolidate documentation of CTEST_USE_LAUNCHERS (#15533)
The documentation of this variable in the CTest module is outdated
and has been superseded by the ctest(1) manual.  In particular, the
latter mentions that it works with the Ninja generator as well as
makefile generators.  Remove the documentation from the CTest module
and replace it with a link to the main variable documentation (which
already references the ctest(1) manual).
2015-04-28 13:32:23 -04:00
Brad King f693c136f9 Modules/CTest: Improve documentation formatting
Use inline reStructuredText markup and add cross-references.
2015-04-28 13:32:23 -04:00
Brad King 5cbedd6b85 Modules/CTest: Use bracket comment for documentation block 2015-04-28 13:32:23 -04:00
Bjoern Thiel ff183986df InstallRequiredSystemLibraries: Fix MBCS MFC detection (#15531)
Fix the logic added by commit v3.0.0-rc5~9^2
(InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12,
2014-05-06).  Do not test content of MSVC${v}_MFC_DIR until after the
variable is set.
2015-04-27 10:09:38 -04:00
Brad King 9fd1f5494f Merge topic 'allow-empty-CMAKE_TOOLCHAIN_FILE'
22926dd6 Allow CMAKE_TOOLCHAIN_FILE to be an empty string
2015-04-23 09:04:41 -04:00
Brad King 46098b0676 Merge topic 'check-compiler-flag-clang'
680ebebc Check*CompilerFlag: Add another pattern for Clang (#15526)
2015-04-23 09:04:39 -04:00
Andrey Pokrovskiy 22926dd651 Allow CMAKE_TOOLCHAIN_FILE to be an empty string
Do not try to include() an empty string in the generated CMakeSystem
module.
2015-04-22 16:06:44 -04:00
Dan Kegel 680ebebc1a Check*CompilerFlag: Add another pattern for Clang (#15526)
Match 'optimization flag ... not supported' messages.
2015-04-22 10:59:57 -04:00
Brad King e1c6df392b ExternalProject: Allow dependencies on INTERFACE libraries
Respect INTERFACE library property whitelist.  Check that a target has
type "UTILITY" before querying other properties.
2015-04-22 08:48:52 -04:00
Brad King c0502faa4b ExternalProject: Fix error message typo 2015-04-21 11:32:13 -04:00
Andrey Pokrovskiy 0273ef1469 ExternalProject: Allow generator expressions with LOG_* options (#15287)
Use file(GENERATE) to write the logging wrapper scripts to evaluate
generator expressions.  Use a per-config script names in case the
content varies by configuration.
2015-04-21 10:51:08 -04:00
Andrey Pokrovskiy 7bd8cfb813 ExternalProject: Allow generator expressions in initial cache options
Use file(GENERATE) to write the initial cache file so that we can
evaluate generator expressions.  Use a per-config initial cache file
name in case the content varies by configuration.
2015-04-21 10:50:29 -04:00
Brad King 0d852d4c65 Merge topic 'cpack-deb-component-vars-prepare'
c8375e15 CPackDeb: Refactor package variable lookup by generator
2015-04-21 09:39:51 -04:00
Domen Vrankar c8375e15eb CPackDeb: Refactor package variable lookup by generator
Preparation for per component variables.
Patch makes sure we know which variables
will be set for per component generator
and also prevents accidental overflows
of variable values between components.
2015-04-21 08:47:18 -04:00
Brad King 2a28f085a5 Merge topic 'FindCUDA.cmake/Fix-MakeDirDuringSeparableCompilation'
0ed22502 FindCUDA: Create output dir while compiling intermediate link file (#15016)
2015-04-21 08:45:03 -04:00
Brad King 50eefbb7e3 Merge topic 'cpack-rpm-refactored-file-listing'
cd953bf7 Help: Add notes for topic 'cpack-rpm-refactored-file-listing'
76080c32 CPackRPM content listing refactor
152e9b32 CPackRPM package content list code move
2015-04-21 08:44:57 -04:00
James Bigler 0ed22502a6 FindCUDA: Create output dir while compiling intermediate link file (#15016)
During compilation of the intermediate link file, the output directory
may not be present in Visual Studio builds.  This fix makes sure the
output directory exists before generating the output file.

Suggested-by: Irwin Zaid
2015-04-20 14:44:17 -04:00
Brad King 5e0e65c189 Merge topic 'add-GreenHills-MULTI-generator'
66b641f4 Help: Add notes for topic 'add-GreenHills-MULTI-generator'
48004d9d Add a 'Green Hills MULTI' generator on Windows
051d8be1 cmLocalGenerator: Constify some cmTarget and cmGeneratorTarget arguments
2015-04-20 14:02:52 -04:00
Geoff Viola 48004d9dbe Add a 'Green Hills MULTI' generator on Windows
Green Hills MULTI is an IDE for embedded real-time systems.  The IDE's
product page can be found here:

 http://www.ghs.com/products/MULTI_IDE.html

It supports cross compiling on ARM, Intel x86, and other architectures
with various operating systems.  The IDE exists on Linux and Windows
host systems, but CMake will currently only generate the project files
on Windows host systems.
2015-04-20 13:55:40 -04:00
Domen Vrankar 76080c32e1 CPackRPM content listing refactor
Refactoring of content list that removes
use of find and sed to make listing algorithm
more clear and remove external dependencies.
Patch also limits man pages handling to
locations listed in brp-compress rpm script
by default - fixes bug report #14660.
2015-04-19 18:22:18 +02:00
Domen Vrankar 152e9b3250 CPackRPM package content list code move
Move rpm package content list code to
a separate function.
2015-04-19 17:01:20 +02:00
Brad King f4e5a0e6aa Merge topic 'FPHSA-updates'
84f06d0c FPHSA: Document REQUIRED_VARS recommendation (#15352)
a3ad275c FPHSA: Revise and format documentation
d1a6d15b FPHSA: Always populate the ExactCase_FOUND variable (#15412).
2015-04-17 10:50:10 -04:00
Brad King 84f06d0c84 FPHSA: Document REQUIRED_VARS recommendation (#15352)
State explicitly that the variables specified are user-facing.
2015-04-17 10:46:25 -04:00
Brad King a3ad275ce0 FPHSA: Revise and format documentation
Use better reStructuredText markup and add cross-references.
2015-04-17 10:46:24 -04:00
Stephen Kelly d1a6d15bcd FPHSA: Always populate the ExactCase_FOUND variable (#15412).
The UPPERCASE name was inconsistent with config-packages, the
find_dependency macro, and even FPHSA itself, which expects
components to be specified with names matching ExactCase.

The FOUND_VAR was only permitted to have two possible values, and
now both are set for compatibility.  Document it as obsolete, and
adjust the code for the same.  Users of the variable should just
remove it.
2015-04-17 10:46:24 -04:00
Tuukka Pasanen dd7e31bc15 UseSWIG: Fix module name detection with relative source file (#15508)
When SWIG_GET_EXTRA_OUTPUT_FILES checks to see if a source file exists
for use in reading the module name, it must pass an absolute path to
the if(EXISTS) command.  Teach SWIG_ADD_SOURCE_TO_MODULE to give it
the absolute path it already knows.
2015-04-15 11:39:44 -04:00
Nils Gladitz fd04d87323 CTestCoverageCollectGCOV: Write tar files intended for CDash in gnutar format
PHP's PharData can not currently (PHP 5.6.4) extract paxr tar archives
with long filenames.
2015-04-10 08:32:31 -04:00
James Bigler 1b0c77a33d FindCUDA: Add specific cuda_language_flag instead of using nvcc.
I was previously appending to nvcc_flags inside the file loop.  This
caused the flag to be appended multiple times which freaks out nvcc.
Now the flag is specifically handled per file.
2015-04-09 11:41:36 -04:00
James Bigler 8313de2d5a FindCUDA: Allow setting CUDA_SOURCE_PROPERTY_FORMAT for non-.cu files.
A previously undocumented feature allowed overriding the format
specified to CUDA_WRAP_SRCS with a source file property called
CUDA_SOURCE_PROPERTY_FORMAT.  I added documentation for this feature as
well as added the ability to let nvcc compile any file regardless of
type if this property was found.

In addition, I also fixed a couple of bugs with the calls to
_cuda_get_important_host_flags that weren't garding the arguments with
"" to prevent empty values from causing errors.
2015-04-09 11:41:36 -04:00
Brad King 48040c19d5 Merge topic 'FindCUDA.cmake/C++11Flags'
99abebde FindCUDA: Handle c++11 host flag
2015-04-09 11:32:39 -04:00
James Bigler 99abebdea0 FindCUDA: Handle c++11 host flag
If the host flags contain a c++11 flag (at least for gcc), then we can't
automatically propagate to nvcc it using -Xcompiler.  This is because
nvcc can't use any C++ only flags.  Instead we find this flag and add it
to nvcc's flags (it has a special flag for dealing with c++11 code) and
remove it from the host flags.

Co-Author: Guillermo Marcus <gmarcus@nvidia.com>
2015-04-08 16:25:47 -04:00
Brad King f3be6c1b9b Merge topic 'FindMatlab_add_recent_versions'
7e311773 FindMatlab: Look for R2014b and R2015a
2015-04-08 09:42:17 -04:00
Daniele E. Domenichelli 7e311773b5 FindMatlab: Look for R2014b and R2015a 2015-04-07 11:42:02 +02:00
Brad King ecb1d5b47a Features: VS 2013 Update 3 supports initializer lists (#15494)
VS 2013 originally claimed to support initializer lists but a bug was
found in which it generated bad code silently.  For this reason we
previously considered support to not be present.  However, Update 3 adds
a hard error on cases that previously generated bad code, so it is now
safe to use initializer lists with VS 2013 Update 3 or greater.  At
worst a compiler error will be issued in the cases that do not work, but
that is no different from any other compiler-specific workaround a
project code may need.
2015-04-06 10:06:26 -04:00
Brad King dfbde6fa99 Merge topic 'gcov-module-coverage-exclude'
9a544f2d CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE
2015-04-06 08:58:21 -04:00
Nils Gladitz 9a544f2d98 CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE 2015-04-04 12:25:15 +02:00
James Bigler 7fea2b77df FindCUDA: Use the static CUDA runtime library if available (#15482)
Beginning in CUDA 5.5 a static version of the cuda runtime library
became available.  Since nvcc defaults to using this library over the
shared version, FindCUDA will also default to using this version.  There
are many advantages to using the static version (most importantly to
avoid conflicts with multiple versions when building a CUDA based
library).  Offer a CUDA_USE_STATIC_CUDA_RUNTIME option to control
this behavior.
2015-04-03 10:15:17 -04:00
Brad King ad09756fed Merge topic 'cpack-rpm-basic-symlink-handling'
68e13e98 Help: Add notes for topic 'cpack-rpm-basic-symlink-handling'
681f3a2f CPackRPM: Add basic symlink support (#15209)
2015-03-31 14:11:20 -04:00
Domen Vrankar 681f3a2f01 CPackRPM: Add basic symlink support (#15209)
RPM packages can contain symbolic links to relative paths - including
support for multiple relocation paths through generation of post install
relocation scripts.  Add basic support with limitations described in
documentation.
2015-03-31 14:04:13 -04:00
Felix Schwitzer b372a99a13 UseSWIG: Do not use MAIN_DEPENDENCY on custom commands (#15480)
Add the dependency on the main swig input source file as a normal
DEPENDS option.  We cannot use MAIN_DEPENDENCY because if there are
multiple target languages then multiple custom commands would want to
use the same MAIN_DEPENDENCY, but at most one custom command may specify
a given source file as its MAIN_DEPENDENCY.  Exposed by a CMP0057
warning.
2015-03-30 09:35:43 -04:00
Brad King 8bc6cfd727 Merge topic 'ExternalData-recursive-match'
230f2d6e ExternalData: Add option to recursively match under directories
564c07f7 ExternalData: Parameterize internal file(GLOB) operation selection
2015-03-30 09:27:48 -04:00
Brad King 230f2d6e70 ExternalData: Add option to recursively match under directories
Extend the ``DATA{Dir/,...}`` syntax with a new ``RECURSE:`` option
to enable recursive matching of associated files.  This will allow
an entire directory tree of data to be referenced at once.
2015-03-27 14:44:54 -04:00
Brad King 564c07f7dd ExternalData: Parameterize internal file(GLOB) operation selection
Extend the _ExternalData_arg_find_files signature with an option to
specify the kind of file(GLOB) operation to be performed.  Set
CMP0009 to NEW so that GLOB_RECURSE does not follow symlinks.
2015-03-27 14:44:49 -04:00
Brad King b76b52c0b4 Xcode: Set ARCHS only when CMAKE_OSX_ARCHITECTURES is specified (#14736)
Teach the Xcode generator that ONLY_ACTIVE_ARCH=YES means to use ARCHS,
and that the default of ONLY_ACTIVE_ARCH=NO means to use NATIVE_ARCH and
ignore ARCHS.  In the latter case there is no reason to generate ARCHS.
2015-03-27 10:52:32 -04:00
Brad King 7910cb7cfb Merge topic 'fix-external-project-generator'
a704098d ExternalProject: fix the build command for generator overrides
2015-03-27 09:15:25 -04:00
Brad King 7865036131 Merge topic 'FindMFC-CMP0054'
dcf29800 FindMFC: Use if(DEFINED) to simplify condition (#15477)
2015-03-27 09:15:21 -04:00
Ben Boeckel a704098de8 ExternalProject: fix the build command for generator overrides
The `binary_dir` variable is never set, so this is invalid. Instead, use
"." which all the other build commands use anyways. Also only set the
--config option if it is meaningful.
2015-03-26 18:12:04 -04:00
Brad King a8e7a1047a GNU: Do not use -isystem with gfortran
The compiler documents that USE statements search for ".mod" files
in directories specified with -I, but not -isystem.

Reported-by: Hugh Sorby <h.sorby@auckland.ac.nz>
2015-03-26 09:33:20 -04:00
Brad King dcf298008f FindMFC: Use if(DEFINED) to simplify condition (#15477)
Replace an old hack of the form 'if("${VAR}" MATCHES "^${VAR}$")'
with the much simpler 'if(NOT DEFINED ${VAR})'.  This was exposed
by a CMP0054 warning.
2015-03-26 09:02:05 -04:00
Brad King 51b4321e5f Merge topic 'SunPro-no-KPIE'
209c142f SunPro: Drop non-existent -KPIE flag
2015-03-24 11:26:30 -04:00
Brad King 81db6506a9 Merge topic 'blugeneq-platform-files'
13807bcb BlueGene/Q Platform files
2015-03-24 11:26:24 -04:00
Gregor Jasny 52642b466e OS X: Look for Xcode 5 platform-specific Frameworks
The Xcode 5 platform specific framework locations differ from the Xcode
6 ones.  Look first for the Xcode 6 ones, then for iOS Xcode 5 ones and
last for the Xcode 5 OS X ones.

For reference, the XCTest.framework is located as follows:

 Xcode511.app/Contents/Developer/Library/Frameworks/XCTest.framework
 Xcode511.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/Developer/Library/Frameworks/XCTest.framework
 Xcode511.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/Developer/Library/Frameworks/XCTest.framework

 Xcode601.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework
 Xcode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework
 Xcode601.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks/XCTest.framework

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-24 11:23:40 -04:00
Steven Vancoillie 209c142f68 SunPro: Drop non-existent -KPIE flag 2015-03-23 10:24:18 -04:00
Brad King 7ef5f240c8 Merge topic 'lib64_paths_crosscompiling'
81bfebfe Linux: Ignore Debian-specific case when cross-compiling
2015-03-23 09:22:06 -04:00
Zack Galbreath 81bfebfe8c Linux: Ignore Debian-specific case when cross-compiling
When constructing settings for the target environment during cross
compiling we should not check for /etc/debian_version on the host.
2015-03-23 09:19:54 -04:00
Brad King 4f129615b3 Merge topic 'UseJava-fix-arg-parse'
a21e8df0 UseJava: Fix add_jar argument parsing (#14655)
2015-03-23 09:18:41 -04:00
Brad King ed99514fc1 Merge topic 'cpack-bundle-codesign'
fb3e4de8 CPack: Add support to overwrite or pass additional parameter to codesign
2015-03-23 09:18:40 -04:00
Brad King 45583e5272 Merge topic 'cpack-rpm-ignore-default-prefix'
18917d66 CPack/RPM ignore install prefix relocation path
2015-03-23 09:18:36 -04:00
Brad King d0af020713 Merge topic 'SunPro-Fortran-KPIC'
3556fb1b SunPro: Add position independent code flag for Fortran compiler
2015-03-23 09:18:34 -04:00
Brad King 88abc78723 Merge topic 'pgi-no-pie'
00842df4 PGI: Remove invalid -fPIE flag (#15460)
2015-03-23 09:18:32 -04:00
Brad King a37937f7c0 Merge topic 'xcode-xctest'
4178cd88 Help: Add notes for topic 'xcode-xctest'
87a4b858 Tests: Add XCTest example to test Frameworks and Cocoa App Bundles
ba14510b OS X: Add FindXCTest module
3714955b OS X: Add handling for XCTest bundles
54a5cdbb Tests: Compute Xcode version for any generator on OS X
2015-03-23 09:18:29 -04:00
André Klitzing fb3e4de8e8 CPack: Add support to overwrite or pass additional parameter to codesign 2015-03-23 09:15:43 -04:00
Gregor Jasny ba14510b4e OS X: Add FindXCTest module
Add a module to lookup XCTest Framework and xctest utility.
It also provides APIs for creating 'xctest' targets.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-23 09:12:19 -04:00
Domen Vrankar 18917d66d4 CPack/RPM ignore install prefix relocation path
Patch adds possibility to remove
CPACK_PACKAGING_INSTALL_PREFIX from
the list of relocation paths when
crating a relocatable rpm.
2015-03-20 21:52:49 +01:00
Steven Vancoillie 3556fb1b81 SunPro: Add position independent code flag for Fortran compiler 2015-03-20 13:05:05 -04:00
Brad King 00842df48d PGI: Remove invalid -fPIE flag (#15460)
The PGI compilers on Linux do not have the -fPIE flag.  Remove the table
entry added by commit v2.8.9~125^2~2 (Add platform variables for
position independent code flags, 2012-05-05), which likely included it
only as part of a sweeping introduction of such flags.
2015-03-20 12:59:54 -04:00
Mark Studenka a21e8df0da UseJava: Fix add_jar argument parsing (#14655)
Since commit v2.8.11~63^2 (UseJava.cmake: require explicit request to
include jars, 2013-03-26) the argument parsing always overrides the
variable settings even if the corresponding arguments are not passed.
Re-order logic to fix this.
2015-03-20 10:46:13 -04:00
Brad King f447027307 Merge topic 'fix-FindPackageHandleStandardArgs-doc'
39451413 FPHSA: Revise documented command signature
2015-03-20 09:47:50 -04:00
Brad King 4faa4c60ce Merge topic 'cpack_rpm_component_fall_through'
be089724 CPack/RPM prevent component attributes leakage
ffc1b945 CPack/RPM improved component override test
2015-03-20 09:47:39 -04:00
Brad King 543b20f269 Merge topic 'WCDH-fix-cxx_nullptr-workaround'
f9d09626 WCDH: Fix cxx_nullptr workaround for pre-C++11 compilers
2015-03-20 09:47:37 -04:00
Todd Gamblin 13807bcb41 BlueGene/Q Platform files
- based on the BlueGene/P platform files.
- tested by Todd Gamblin (LLNL) and David DeMarle (Kitware)
2015-03-18 23:40:12 -07:00
Gregor Jasny 394514135e FPHSA: Revise documented command signature
For mode 2 the first argument is not the literal NAME
but the package name.

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-18 15:15:44 +01:00
Roman Wüger f9d0962689 WCDH: Fix cxx_nullptr workaround for pre-C++11 compilers
Use just '0' instead of 'static_cast<void*>(0)' because the latter
will not automatically convert to pointers to other types.
2015-03-17 13:46:43 -04:00
Brad King f94727a9c2 Record compile features for GNU on Windows (#15443)
Drop the 'UNIX' condition on GNU compiler features.

Suggested-by: David Demelier <demelier.david@gmail.com>
2015-03-17 13:32:08 -04:00
Domen Vrankar be089724e9 CPack/RPM prevent component attributes leakage
Fixes mantis bug report with id 15169. Some
component specific attributes were leaking
to next component. Leakage handling was
implemented in different locations but there
were still attributes that leaked. Patch
encapsulates generator into function so all
current leaks are fixed and no future leaks
can occur.
2015-03-17 17:36:36 +01:00
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 0fe4cce22f Merge branch 'UseSWIG-fix-CMP0054-warnings' into release 2015-03-09 16:38:49 -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
Brad King 4932f59b4c Merge branch 'cpack_rpm_mulit_prefix_fixup' into release 2015-02-27 08:48:45 -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