summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'position-independent-targets'David Cole2012-06-1247-29/+420
|\ | | | | | | | | | | | | bd34963 Refactor generation of shared library flags 55d7aa4 Add platform variable for flags specific to shared libraries 31d7a0f Add platform variables for position independent code flags
| * Refactor generation of shared library flagsStephen Kelly2012-06-1220-19/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMAKE_SHARED_LIBRARY_<lang>_FLAGS has flags on various platforms for a variety of purposes that are correlated with shared libraries but not exclusive to them. Refactor generation of these flags to use new purpose-specific platform variables CMAKE_<lang>_COMPILE_OPTIONS_DLL CMAKE_<lang>_COMPILE_OPTIONS_PIC CMAKE_<lang>_COMPILE_OPTIONS_PIE Activate the DLL flags specifically for shared libraries. Add a new POSITION_INDEPENDENT_CODE target property to activate PIC/PIE flags, and default to true for shared libraries to preserve default behavior. Initialize the new property from CMAKE_POSITION_INDEPENDENT_CODE to allow easy global configuration in projects. Although the default behavior is unchanged by this refactoring, the new approach ignores CMAKE_SHARED_LIBRARY_<lang>_FLAGS completely. We must leave it set in case projects reference the value. Furthermore, if a project modifies CMAKE_SHARED_LIBRARY_<lang>_FLAGS it expects the new value to be used. Add policy CMP0018 to handle compatibility with projects that modify this platform variable. Add a PositionIndependentCode test on platforms where we can get meaningful results.
| * Add platform variable for flags specific to shared librariesStephen Kelly2012-06-126-2/+15
| | | | | | | | | | | | Store in CMAKE_${lang}_COMPILE_OPTIONS_DLL flags from CMAKE_SHARED_LIBRARY_${lang}_FLAGS that are truly exclusive to shared libraries.
| * Add platform variables for position independent code flagsStephen Kelly2012-06-1225-8/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store in new platform variables CMAKE_${lang}_COMPILE_OPTIONS_PIC CMAKE_${lang}_COMPILE_OPTIONS_PIE flags for position independent code generation. In almost all cases, this means duplication of the CMAKE_SHARED_LIBRARY_${lang}_FLAGS for the _PIC case and using the assumed pie equivalent for the _PIE case. Note that the GNU compiler has supported -fPIE since 3.4 and that there is no -fPIC on GNU for Windows or Cygwin. There is a possibility that the _PIE variables are not correct. However, as there is no backwards compatibility to be concerned about (as the POSITION_INDEPENDENT_CODE property is not used anywhere yet), the current state suffices.
* | Merge topic 'UseJava-13281'David Cole2012-06-121-2/+2
|\ \ | | | | | | | | | | | | 5593d57 UseJava: fix find_jar() called with multiple files (#13281)
| * | UseJava: fix find_jar() called with multiple files (#13281)Rolf Eike Beer2012-06-081-2/+2
| | |
* | | Merge topic 'update-KWIML'David Cole2012-06-121-55/+173
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 0dfdde1 Merge branch 'upstream-kwiml' into update-KWIML 6240f85 KWIML: Report broken integer format macros on AIX 4.3 e1b0fc9 KWIML: Add interface to report broken integer format macros
| * \ \ Merge branch 'upstream-kwiml' into update-KWIMLBrad King2012-06-071-55/+173
| |\ \ \
| | * | | KWIML: Report broken integer format macros on AIX 4.3Brad King2012-06-071-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The <inttypes.h> on this platform defines the macros incorrectly, as in #define PRId32 %d instead of #define PRId32 "d"
| | * | | KWIML: Add interface to report broken integer format macrosBrad King2012-06-071-55/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The <inttypes.h> header on some platforms define the integer format macros incorrectly for some of the integer types. Document macros that we can define to report such platforms to the includer. Check these reports before trusting the system-defined macros.
* | | | | Merge topic 'no-std-stringstream'David Cole2012-06-125-12/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 94de982 Avoid direct use of std::(o|)stringstream (#13272)
| * | | | | Avoid direct use of std::(o|)stringstream (#13272)Brad King2012-06-125-12/+13
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older C++ compilers do not provide a standard std::stringstream. Use our compatibility interfaces instead. Also avoid std::stringstream(openmode) signature. Our approximate stringstream implementation provided when the standard one is not available does not support the openmode argument.
* | | | | Merge topic 'libarchive-sun'David Cole2012-06-121-0/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 54ffb5b libarchive: Avoid 'inline' on SunPro < 5.9 (#13277)
| * | | | | libarchive: Avoid 'inline' on SunPro < 5.9 (#13277)Brad King2012-06-071-0/+3
| |/ / / / | | | | | | | | | | | | | | | Suggested-by: Daniel R. Gomez <gomez@teragram.com>
* | | | | Merge topic 'VS-Fortran-Intel-2013'David Cole2012-06-121-2/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 8945489 VS: Set Intel Fortran 13 project version
| * | | | | VS: Set Intel Fortran 13 project versionZaheer Chothia2012-06-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have tested that it works with: Microsoft Visual Studio 10.0.40219.1 Intel Visual Fortran 13.0.0.041 Beta Build 20120425
* | | | | | Merge topic 'makefile-escape-equals'David Cole2012-06-121-19/+32
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | ee6c1b8 Makefile: Support directory names containing '=' (#12934)
| * | | | | | Makefile: Support directory names containing '=' (#12934)Brad King2012-06-061-19/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit c8ef6430 (Allow directory names containing '=' and warn if necessary, 2012-02-06) we allow directories with '=' instead of rejecting them as was previously done since commit 8704525f (Reject directory names containing '=', 2011-01-14). However, we did not warn in all cases that '=' may cause failure, such as when it appears on the right-hand side of a dependency line. Both commits above were made assuming that '=' cannot be escaped in Make syntax, but it can be achieved with a variable: EQUALS = = left$(EQUALS)side : right$(EQUALS)side Use this approach to escape '=' in dependency lines, thus supporting the character in paths. All our tests now pass when CMake is built in source and build trees both containing '=', except for the "OutOfSource" test. It fails in its coverage of the obscure "OutOfBinary" test case where part of the build tree is located outside the main build tree of the test. The reason is that CMake must invoke a command like $(MAKE) -f /path/with=sign/build.make /path/with=sign/somefile but the make tool interprets the last argument as a variable assignment. This is an acceptable limitation, since the case is so obscure, in exchange for supporting '=' cleanly otherwise.
* | | | | | | Merge topic 'archive-exclude-file-flags'David Cole2012-06-121-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a34015d cmArchiveWrite: Clear fflags from archive entries
| * | | | | | | cmArchiveWrite: Clear fflags from archive entriesBrad King2012-06-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When reading archive entries from disk strip any "fflags" entry headers that may have been loaded from the filesystem when libarchive is built with HAVE_STRUCT_STAT_ST_FLAGS (struct stat has 'st_flags'). The local filesystem flags are not useful for distribution. Furthermore, GNU tar does not understand the "SCHILY.fflags" extended header used to store the flags in the archive. Use the approach from commit e8558efa (cmArchiveWrite: Clear xattr and acl from entries, 2011-04-07) to remove the flags and avoid producing the non-portable extended header.
* | | | | | | | Merge topic 'KWSys-hashtable-old-gcc'David Cole2012-06-121-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4f170e2 KWSys: Fix hashtable prime list on g++ 2.9 (#13273)
| * | | | | | | | KWSys: Fix hashtable prime list on g++ 2.9 (#13273)Daniel R. Gomez2012-06-051-1/+1
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building CMake with g++ 2.9-aix51-020209 on an AIX 5.3 system gives: cmsys/hashtable.hxx: In function `const long unsigned int *cmsys::get_stl_prime_list ()': cmsys/hashtable.hxx:399: warning: sorry: semantics of inline function static data `const long unsigned int _stl_prime_list[31]' are wrong (you'll wind up with multiple copies) cmsys/hashtable.hxx:399: warning: you can work around this by removing the initializer Give get_stl_prime_list internal linkage.
* | | | | | | | Merge topic 'FindBZip2-GnuWin32-registry'David Cole2012-06-121-3/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c912af FindBZip2: Search locations in GnuWin32 registry
| * | | | | | | | FindBZip2: Search locations in GnuWin32 registryBrad King2012-06-051-3/+7
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GnuWin32 "bzip2" installer stores in the registry key HKEY_LOCAL_MACHINE\SOFTWARE\GnuWin32\Bzip2 an "InstallPath" value. Use this entry as a search location.
* | | | | | | | Merge topic 'FindPythonLibs-13216'David Cole2012-06-121-2/+8
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9d145b0 FindPythonLibs: honor EXACT version specification (#13216)
| * | | | | | | | FindPythonLibs: honor EXACT version specification (#13216)Rolf Eike Beer2012-06-051-2/+8
| | | | | | | | |
* | | | | | | | | Merge topic 'CPackRPM-emptyPerComponentREQUIRES'David Cole2012-06-121-1/+4
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7321c94 CPackRPM: avoid leakage of RPM directive from one component to another.
| * | | | | | | | | CPackRPM: avoid leakage of RPM directive from one component to another.Eric NOULARD2012-06-051-1/+4
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #0013248 Inspired-By: Sergei Golubchik
* | | | | | | | | CMake Nightly Date StampKitware Robot2012-06-121-1/+1
| | | | | | | | |
* | | | | | | | | CMake Nightly Date StampKitware Robot2012-06-111-1/+1
| | | | | | | | |
* | | | | | | | | CMake Nightly Date StampKitware Robot2012-06-101-1/+1
| | | | | | | | |
* | | | | | | | | CMake Nightly Date StampKitware Robot2012-06-091-1/+1
| |_|_|_|_|_|/ / |/| | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2012-06-081-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2012-06-071-1/+1
| |_|_|_|/ / / |/| | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2012-06-061-1/+1
| |/ / / / / |/| | | | |
* | | | | | Merge topic 'Ninja-EXPORT_COMPILE_COMMANDS'David Cole2012-06-059-17/+110
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3545645 Exclude the CompileCommandOutput test on WIN32. fbaddf4 Escape the source file to be compiled if required. db839be Make the CMAKE_EXPORT_COMPILE_COMMANDS option work with Ninja. 8778357 Add newline to the output. 2c04bc0 Move the EscapeJSON method to a sharable location.
| * | | | | | Exclude the CompileCommandOutput test on WIN32.Stephen Kelly2012-06-041-1/+1
| | | | | | |
| * | | | | | Escape the source file to be compiled if required.Stephen Kelly2012-06-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whitespaces in paths can otherwise cause invalid command lines to be generated.
| * | | | | | Make the CMAKE_EXPORT_COMPILE_COMMANDS option work with Ninja.Stephen Kelly2012-06-045-1/+85
| | | | | | |
| * | | | | | Add newline to the output.Stephen Kelly2012-06-041-1/+1
| | | | | | |
| * | | | | | Move the EscapeJSON method to a sharable location.Stephen Kelly2012-06-043-15/+21
| | |_|_|_|/ | |/| | | |
* | | | | | Merge topic 'vcexpress-no-folder'David Cole2012-06-052-0/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | a0700ba VC Express doesn't support folders, ignore USE_FOLDER property
| * | | | | | VC Express doesn't support folders, ignore USE_FOLDER propertyPeter Kuemmel2012-06-022-0/+9
| | | | | | |
* | | | | | | Merge topic 'moduleLibLzma'David Cole2012-06-052-1/+70
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ee26019 Add FindLibLZMA Module
| * | | | | | | Add FindLibLZMA ModuleMario Bensi2012-05-312-1/+70
| | | | | | | |
* | | | | | | | Merge topic 'fix-13261-allow-variable-overrides'David Cole2012-06-052-6/+12
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8b2fb33 Mac: Add guards to CMAKE_FIND_FRAMEWORK and CMAKE_FIND_APPBUNDLE defaults
| * | | | | | | | Mac: Add guards to CMAKE_FIND_FRAMEWORK and CMAKE_FIND_APPBUNDLE defaultsCharlie Sharpsteen2012-05-312-6/+12
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default for `CMAKE_FIND_FRAMEWORK`, defined in `Darwin.cmake` and `Darwin-icc.cmake`, is now guarded so that it will not override command line arguments passed by users. Similarly for `CMAKE_FIND_APPBUNDLE`
* | | | | | | | Merge topic 'qt4-phonon-backend'David Cole2012-06-051-1/+5
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ad7c80c Added conditional for the phonon backend plugin.
| * | | | | | | | Added conditional for the phonon backend plugin.Kurtis Nusbaum2012-05-291-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If on APPLE, the phonon backend plugin is set to phonon_qt7. If on WIN32, the phonon backend plugin is set to phonon_ds9. I did not add any for generic UNIXes as they could have a whole host of things. A more comprehensive script would actually attempt to detect which phonon plugins were installed. However, this is a simple fix for now that will work for most people.
* | | | | | | | | Merge topic 'Qt4Macros-generated-resources'David Cole2012-06-051-16/+24
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 9ce67d3 Qt4Macros: Added support for generated resource files