summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CMP0022: Plain target_link_libraries must populate link interfaceBrad King2013-11-0211-151/+145
| | | | | | | | | | | | | | | | | | The CMP0022 NEW behavior is that the INTERFACE_LINK_LIBRARIES property exactly defines the link interface. The plain target_link_libraries signature says linking is transitive by default, so it should populate the property. Teach the target_link_libraries plain signature to populate the INTERFACE_LINK_LIBRARIES regardless of the CMP0022 setting. Refactor the cmTarget::ComputeLinkInterface checks that warn when the policy is not set to compare the new property to either the explicitly set old link interface properties or the link implementation fallback for all linkable target types, not just static libraries. This fixes a regression in 2.8.12.0 that caused target_link_libraries to not implement transitive linking in the plain signature once the policy CMP0022 is set to NEW.
* CMP0022: Add test for target_link_libraries plain signatureStephen Kelly2013-11-026-0/+56
|
* CMP0022: Add unit test for null pointer check and message.Stephen Kelly2013-11-024-0/+29
|
* Merge branch 'output-CMP0022-entries' into policy-CMP0022-fixesBrad King2013-11-022-1/+35
|\
| * CMP0022: Output link interface mismatch for static library warningStephen Kelly2013-10-232-1/+35
| | | | | | | | | | | | Other warnings for the same policy already have similar output since commit 81d2793e (Add differing target property content to policy CMP0022 warning, 2013-09-11).
* | Don't add invalid content to static lib INTERFACE_LINK_LIBRARIES.Stephen Kelly2013-10-264-9/+26
|/ | | | | | | | | | | | | Only valid target names or generator expressions may appear in the target field of a LINK_ONLY expression. Other content like link flags should still be added to that property (wrapped in config-specific generator expressions), but not wrapped in LINK_ONLY. Otherwise undue warnings would be issued for the policy CMP0022. The LINK_ONLY expression only has an effect for actual target names anyway, so there is no logical deficit.
* Merge topic 'fix-install-include-dirs-processing'Brad King2013-10-072-1/+4
|\ | | | | | | | | 6f98f4a Genex: Fix processing multiple include directories for relative paths
| * Genex: Fix processing multiple include directories for relative pathsStephen Kelly2013-10-072-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | Re-insert the semicolon which was removed during splitting. Commit d777b8e7 (Genex: Allow relative paths in INSTALL_INTERFACE., 2013-07-25) introduced the prefixItems method to allow relative paths in the argument of the INSTALL_INTERFACE expression. That method was buggy in that it did not re-introduce the semicolon separator in the result. This bug also affects paths which are already absolute in user code.
* | CMake Nightly Date StampKitware Robot2013-10-071-1/+1
|/
* CMake Nightly Date StampKitware Robot2013-10-061-1/+1
|
* CMake Nightly Date StampKitware Robot2013-10-051-1/+1
|
* CMake Nightly Date StampKitware Robot2013-10-041-1/+1
|
* Merge topic 'xcode-5'Brad King2013-10-034-34/+64
|\ | | | | | | | | | | | | | | a3194ff Xcode: Fix OBJECT library support for Xcode 5 (#14254) dff8d11 Xcode: Drop XCODE_DEPEND_HELPER for Xcode >= 5 1180322 Xcode: Teach Tests/BuildDepends to allow LINK_DEPENDS_NO_SHARED failure 765b46d Xcode: Fix test architecture selection for Xcode >= 5
| * Xcode: Fix OBJECT library support for Xcode 5 (#14254)Brad King2013-10-021-19/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode 2.1 through 4 supported $(CURRENT_ARCH) in a PBXFileReference 'path' value used in the "Link Binary with Libraries" build phase. CMake uses this to reference object file locations on link lines to bring in OBJECT library content. However, Xcode 5 now evaluates the $(CURRENT_ARCH) reference in this context as "undefined_arch" so the wrong path is given to the linker. There seems to be no alternative way to produce an architecture-specific value in a PBXFileReference. Fortunately Xcode 5 now also handles link dependencies for paths linked through OTHER_LDFLAGS. For Xcode >= 5, move the OBJECT library object file references from the link build phase to OTHER_LDFLAGS. We can still show the object files in the source group listing in either case.
| * Xcode: Drop XCODE_DEPEND_HELPER for Xcode >= 5Brad King2013-10-021-12/+19
| | | | | | | | | | | | Xcode 5.0 now computes dependencies from files linked through OTHER_LDFLAGS, so we no longer need the XCODE_DEPEND_HELPER hack to re-link dependents when targets change.
| * Xcode: Teach Tests/BuildDepends to allow LINK_DEPENDS_NO_SHARED failureBrad King2013-10-021-0/+2
| | | | | | | | | | | | Xcode 5.0 now relinks targets when their shared libraries dependencies are modified, and there seems to be no way to stop it. Report this as a known limitation in the test output and do not fail.
| * Xcode: Fix test architecture selection for Xcode >= 5Brad King2013-10-022-4/+4
| | | | | | | | | | | | | | | | In Tests/Architecture and Tests/BuildDepends/Project we select a set of OS X cpu architectures to use for the test. Prior to Xcode 4 we always used i386 and ppc. Starting with Xcode 4, the tools do not support ppc but do support x86_64, so we switch to that. Fix the version check to recognize Xcode >= 5 as at least Xcode 4 and use the new architectures.
* | CMake Nightly Date StampKitware Robot2013-10-031-1/+1
|/
* CMake Nightly Date StampKitware Robot2013-10-021-1/+1
|
* Merge topic 'osx-find-sdk-frameworks'Brad King2013-10-011-0/+9
|\ | | | | | | | | 1fce189 OS X: Search system SDKs for frameworks
| * OS X: Search system SDKs for frameworksBrad King2013-09-271-0/+9
| | | | | | | | | | | | | | | | In Modules/Platform/Darwin.cmake set CMAKE_SYSTEM_FRAMEWORK_PATH to include framework directories from inside the system SDK corresponding to CMAKE_OSX_SYSROOT. Suggested-by: Sean McBride <sean@rogue-research.com>
* | Merge topic 'fix-duplicate-custom-commands'Brad King2013-10-011-0/+13
|\ \ | | | | | | | | | | | | dccd494 Use first custom command for the same output (#14446)
| * | Use first custom command for the same output (#14446)Brad King2013-09-301-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In buggy code like add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out.h MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/out.h.in ...) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/out.h ...) that has more than one rule to generate the same output CMake has always used the first rule. However, since commit 2268c41a (Optimize custom command full-path dependency lookup, 2013-08-06) we update the map from output to cmSourceFile for every rule generating an output, effectively keeping the last command instead of the first. Fix this regression by checking for each map update if the output already has an entry. If so, keep only the original entry. The VS 8 generator triggers this with a special case for generate.stamp rules that differ between ZERO_CHECK and normal targets, so do not warn for now. Leave a TODO comment for warning in the future.
* | | CMake Nightly Date StampKitware Robot2013-10-011-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-09-301-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-09-291-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-09-281-1/+1
| |/ |/|
* | CMake Nightly Date StampKitware Robot2013-09-271-1/+1
| |
* | Merge topic 'wince-archfam'Brad King2013-09-261-4/+11
|\ \ | | | | | | | | | | | | 0b15ffc MSVC: Fix WinCE arch family preprocessor symbol (#14436)
| * | MSVC: Fix WinCE arch family preprocessor symbol (#14436)Patrick Gansterer2013-09-251-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | In commit bd827f98 (Use COFF file header header for architecture detection, 2013-08-05) the MSVC_<lang>_ARCHITECTURE_ID value computed by CMakeDetermineCompilerId.cmake changed for WinCE architectures to be the exact architecture read from the PE header. Fix platform preprocessor definitions in Modules/Platform/Windows-MSVC.cmake to correspond to the architecture family (ARM or SHx) instead of the specific architecture.
* | | Merge topic 'wince-subsystem'Brad King2013-09-261-1/+5
|\ \ \ | | | | | | | | | | | | | | | | 8bb3b3d VS: Use version-specific subsystem for WinCE compiler id (#14440)
| * | | VS: Use version-specific subsystem for WinCE compiler id (#14440)Patrick Gansterer2013-09-251-1/+5
| |/ / | | | | | | | | | | | | | | | The subsystem must be set to WINDWOSCE for some SDKs to link an executable. Set it to 9 for VS2005 and to 8 for VS2008, since the value differs between the different Visual Studio versions.
* | | CMake Nightly Date StampKitware Robot2013-09-261-1/+1
| | |
* | | Merge topic 'bash-completion-future-filter'Brad King2013-09-253-8/+8
|\ \ \ | | | | | | | | | | | | | | | | a8d7141 bash-completion: Future-proof --help-*-list "cXXXX version" filtering
| * | | bash-completion: Future-proof --help-*-list "cXXXX version" filteringBrad King2013-09-253-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A future version of CMake may not print the "cmake version" line at the beginning of the --help-*-list output. Filter out the line with 'grep' instead of 'tail' to tolerate output from versions of CMake with and without the version line. Match "cmake version", "cpack version", and "ctest version" in each corresponding completion script.
* | | | Merge topic 'hppa-bootstrap'Brad King2013-09-251-1/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | ca63bb1 bootstrap: try better workaround for builds on Linux/HPPA
| * | | | bootstrap: try better workaround for builds on Linux/HPPARolf Eike Beer2013-09-121-1/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The workaround currently present works fine without -O or with -O1, but fails with -Os or -O2 and higher. Using -O2 is common e.g. in Gentoo, as resulting in bugs like this: https://bugs.gentoo.org/473276 Prevent the workaround for higher optimization levels to make bootstrapping more likely to succeed. This is still a workaround as ld still keeps crashing in some situations.
* | | | CMake Nightly Date StampKitware Robot2013-09-251-1/+1
| |/ / |/| |
* | | Merge topic 'wince-corelibc'Brad King2013-09-241-1/+1
|\ \ \ | | | | | | | | | | | | | | | | e63cf5f MSVC: Fix version test for linking corelibc on Windows CE (#14420)
| * | | MSVC: Fix version test for linking corelibc on Windows CE (#14420)Patrick Gansterer2013-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | In commit 8fcf0ab0 (Add support for new Windows CE compiler, 2013-08-04) we made corelibc conditional on the MSVC version, but the version value was incorrect. Update it to use corelibc for VS 2008 and below.
* | | | CMake Nightly Date StampKitware Robot2013-09-241-1/+1
|/ / /
* | | CMake Nightly Date StampKitware Robot2013-09-231-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-09-221-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-09-211-1/+1
| | |
* | | Merge topic 'FindHDF5-fix-lib-selection'Brad King2013-09-201-36/+2
|\ \ \ | | | | | | | | | | | | | | | | 0f05961 FindHDF5: Fix regression in per-configuration library selection
| * | | FindHDF5: Fix regression in per-configuration library selectionBrad King2013-09-191-36/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When FindHDF5 was first added in commit e6734068 (Add HDF5 find module..., 2009-08-24) it contained a workaround for a bug in SelectLibraryConfigurations that did not transform lists correctly. That bug was fixed by commit 5797512c (SelectLibraryConfiguration: generate correct output when input vars are lists, 2012-07-28). Then refactoring in commit 04d4dc33 (SelectLibraryConfigurations: Use -NOTFOUND instead of copying the vars, 2013-07-08) changed undocumented behavior on which the original workaround relied. The result puts entries like HDF5_hdf5_LIBRARY_DEBUG-NOTFOUND in HDF5_LIBRARIES. Fix this by dropping the original workaround since the underlying issue has been fixed anyway. Use the HDF5_${LIB}_LIBRARY selected by the call to select_library_configurations directly.
* | | | CMake Nightly Date StampKitware Robot2013-09-201-1/+1
|/ / /
* | | CMake Nightly Date StampKitware Robot2013-09-191-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2013-09-181-1/+1
| | |
* | | Merge topic 'FindPNG-compatibility'Brad King2013-09-171-5/+9
|\ \ \ | | | | | | | | | | | | | | | | 6816044 FindPNG: Honor old PNG_LIBRARY if provided (#14398)