summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Clean up install rules of CMake itself (#14371)Brad King2013-08-261-11/+12
| | | | | | | | | | | Ensure CMAKE_DATA_DIR, CMAKE_DOC_DIR, and CMAKE_MAN_DIR are always relative paths in CMake code, and set defaults accordingly. Use the install() command instead of install_files() and install_targets(). This is more modern and also avoids stripping of the first character from user-specified destinations. While at it, fix the default destinations reported in the bootstrap help.
* Tests: Add generator toolset supportBrad King2013-02-071-0/+2
| | | | | Propagate CMAKE_GENERATOR_TOOLSET through the test hierarchy so that all tests can build with the selected generator toolset, if any.
* Add the -Wundef flag when compiling CMake.Stephen Kelly2013-01-081-2/+2
|
* Remove references to KWSys Process Win9x supportBrad King2012-12-191-2/+0
| | | | | | The KWSys "EncodeExecutable" and "ProcessFwd9x" executables were dropped from KWSys along with Win9x Process support. Drop references from the rest of the CMake build rules.
* Enable some compiler warnings when building CMake.Stephen Kelly2012-11-131-0/+23
| | | | | | The warnings are enabled for now only when using GCC 4.2 or later. It may be possible later to also enable them when building CMake with clang. Don't duplicate the compiler flags if already set.
* Remove CMake multiline block-end command argumentsMarcin Wojdyr2012-08-151-4/+2
| | | | removing arguments omitted in 9db3116226cb99fcf54e936c833953abcde9b729
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-47/+47
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-338/+338
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-24/+24
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* Require CMake 2.8.2 or higher to build CMakeBrad King2012-04-261-4/+3
| | | | | | | | | Update the requirement specified in the top-level CMakeLists.txt file. Drop the special-case minimum required version of 2.8.0 because the new minimum subsumes it. Revert commit 6c611c6b (libarchive: Restore CMake 2.6.3 as minimum version, 2012-01-05) since our requirement now subsumes libarchive's.
* Enhancement of bash completion scripts given by Igor Murzov.Eric NOULARD2012-04-231-0/+3
| | | | | | | The orginal patch has been reworked in order to follow CMake source tree layout habit. Inspired-By: Igor Murzov <e-mail@date.by>
* Refactor CMake version handlingBrad King2012-04-201-16/+3
| | | | | | | | Move the CMake version number components out of "CMakeLists.txt" into dedicated file "Source/CMakeVersion.cmake". Set the TWEAK level to the date explicitly. Add a "Source/CMakeVersion.bash" script to update the date, thus replacing KWSys DateStamp for CMake. Teach the bootstrap script to extract the version components from their new location.
* Begin post-2.8.8 developmentDavid Cole2012-04-181-2/+2
|
* CMake 2.8.8v2.8.8David Cole2012-04-181-1/+1
|
* CMake 2.8.8-rc2David Cole2012-04-051-1/+1
|
* CMake 2.8.8-rc1David Cole2012-03-221-3/+3
|
* Merge topic 'update-libarchive'David Cole2012-01-091-5/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6c611c6 libarchive: Restore CMake 2.6.3 as minimum version 2f5b677 libarchive: Update README-CMake.txt for new snapshot 156cb3b Merge branch 'libarchive-upstream' into update-libarchive fd42bf1 libarchive: Set .gitattributes to allow trailing whitespace 4f4fe6e libarchive 3.0.2-r4051 (reduced) 65b6e19 libarchive: Avoid bogus conversion warning from PGI compiler 9ccaeb1 libarchive: Suppress PathScale compiler warnings 2309438 libarchive: Rename isoent_rr_move_dir parameter isoent => curent b6ca96e libarchive: Include linux/types.h before linux/fiemap.h f293b73 libarchive: Define _XOPEN_SOURCE=500 on HP-UX 6781a09 libarchive: Cleanup after ZLIB_WINAPI check f15d757 libarchive: Remove hard-coded build configuration 3a9f449 libarchive: Use Apple copyfile.h API only if available 6af6b96 libarchive: Do not use MNT_NOATIME if not defined 02d5e40 libarchive: Check for 'struct statvfs' member 'f_iosize' 8b7ee30 libarchive: Do not use ST_NOATIME if not defined ...
| * Configure libarchive build within CMakeBrad King2011-12-231-6/+6
| | | | | | | | | | | | | | | | Re-enable the option to build libarchive within CMake now that we have imported a new snapshot. Force libarchive ENABLE_* cache options to the values CMake needs. Set ENABLE_OPENSSL based on CMAKE_USE_OPENSSL to preserve the behavior introduced in commit ee55a4f7 (Use OpenSSL only if CMAKE_USE_OPENSSL, 2011-02-08).
| * libarchive: Remove our copy to make room for new importBrad King2011-12-201-0/+1
| |
* | remove reference to CVS directory when installing filesRolf Eike Beer2012-01-021-1/+0
| | | | | | | | CMake is in git, let's ignore this.
* | Begin post-2.8.7 developmentDavid Cole2011-12-301-2/+2
| |
* | CMake 2.8.7v2.8.7David Cole2011-12-301-1/+1
| |
* | CMake 2.8.7-rc2David Cole2011-12-211-1/+1
| |
* | CMake 2.8.7-rc1David Cole2011-12-081-3/+3
|/
* Merge topic 'import-KWIML'David Cole2011-11-151-0/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | 5be0e92 Merge branch 'upstream-kwiml' into import-KWIML a8f6159 KWIML: Create test output dir for Xcode 33fff24 KWIML: No INT_SCN*8 on Intel for Windows bcc06d4 KWIML: No INT_SCN*8 on SunPro compiler 6d12ab3 KWIML: Suppress printf/scanf format warnings in test 553acec KWIML: Avoid redefining _CRT_SECURE_NO_DEPRECATE in test.h 93cebca Configure KWIML inside CMake as cmIML b2975ad Merge branch 'upstream-kwiml' into import-KWIML 831bade KWIML: The Kitware Information Macro Library
| * Configure KWIML inside CMake as cmIMLBrad King2011-06-271-0/+6
| |
* | Begin post-2.8.6 developmentDavid Cole2011-10-041-2/+2
| |
* | CMake 2.8.6v2.8.6David Cole2011-10-041-1/+1
| |
* | CMake 2.8.6-rc4David Cole2011-09-221-1/+1
| |
* | Merge branch 'release'David Cole2011-09-221-3/+3
|\ \
| * | CMake 2.8.6-rc3David Cole2011-09-091-1/+1
| | |
| * | CMake 2.8.6-rc2David Cole2011-09-021-1/+1
| | |
| * | CMake 2.8.6-rc1David Cole2011-08-261-3/+3
| | |
* | | CMake: Reference test targets only when BUILD_TESTING is ONDavid Cole2011-09-141-6/+10
|/ / | | | | | | | | | | | | You cannot set a property on a target that's not there, and these targets are not there when BUILD_TESTING is OFF. Thanks to Sankhesh Jhaveri for the bug report.
* | Begin post-2.8.5 developmentDavid Cole2011-07-081-2/+2
| |
* | CMake 2.8.5v2.8.5David Cole2011-07-081-1/+1
| |
* | CMake 2.8.5-rc3David Cole2011-06-211-1/+1
| |
* | CMake 2.8.5-rc2David Cole2011-06-151-1/+1
| |
* | CMake 2.8.5-rc1David Cole2011-05-251-3/+3
|/
* COMP: Fix build against non-standard outside libarchiveBrad King2011-03-311-0/+1
| | | | Use the include directories reported by find_package(LibArchive).
* Remove unused CMAKE_BACKWARDS_COMPATIBILITY markBrad King2011-03-011-2/+0
| | | | | CMake itself has no calls to cmake_minimum_required with VERSION < 2.6 so this cache variable does not appear at all.
* Require at least CMake 2.6.3 to build current CMakeBrad King2011-02-241-15/+2
| | | | Remove some cruft left for supporting builds with CMake 2.4.
* Begin post-2.8.4 developmentDavid Cole2011-02-151-2/+2
|
* CMake 2.8.4v2.8.4David Cole2011-02-151-1/+1
|
* CMake 2.8.4-rc2David Cole2011-01-311-1/+1
|
* Merge branch 'release'David Cole2011-01-311-3/+3
|\
| * CMake 2.8.4-rc1David Cole2011-01-121-3/+3
| |
* | bootstrap: Granular system library selection (#11431)Brad King2011-01-101-28/+39
|/ | | | | | | | | | This adds the ability for packagers to specify that some libraries should use system versions and others should use the CMake versions. This allows a bit of flexibility and means Homebrew (an OSX package manager) no longer has to continue to patch the CMake build process. Inspired-by: Mike McQuaid <mike@mikemcquaid.com>
* Cygwin: Do not define 'WIN32' (#10122)Brad King2010-12-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of Cygwin's goals is to build projects using the POSIX API with no Windows awareness. Many CMake-built projects have been written to test for UNIX and WIN32 but not CYGWIN. The preferred behavior under Cygwin in such projects is to take the UNIX path but not the WIN32 path. Unfortunately this change is BACKWARDS INCOMPATIBLE for Cygwin-aware CMake projects! Some projects that previously built under Cygwin and are Cygwin-aware when they test for WIN32 may now behave differently. Eventually these projects will need to be updated, but to help users build them in the meantime we print a warning about the change in behavior. Furthermore, one may set CMAKE_LEGACY_CYGWIN_WIN32 to request old behavior during the transition. Normally we avoid backwards incompatible changes, but we make an exception in this case for a few reasons: (1) This behavior is preferred by Cygwin's design goals. (2) A warning provides a clear path forward for everyone who may see incompatible behavior, and CMAKE_LEGACY_CYGWIN_WIN32 provides a compatibility option. The warning and compatibility option both disappear when the minimum required version of CMake in a project is sufficiently new, so this issue will simply go away over time as projects are updated to account for the change. (3) The fixes required to update projects are fairly insignificant. Furthermore, the Cygwin distribution has no releases itself so project versions that predate said fixes tend to be difficult to build anyway. (4) This change enables many CMake-built projects that did not previously build under Cygwin to work out-of-the-box. From bug #10122: "I have built over 120 different source packages with (my patched) CMake, including most of KDE4, and have found that NOT defining WIN32 on Cygwin is much more accurate." -- Yaakov Selkowitz A fully compatible change would require patches on top of these project releases for Cygwin even though they otherwise need not be aware of it. (5) Yaakov has been maintaining a fork of CMake with this change for the Cygwin Ports distribution. It works well in practice. By accepting the change in upstream CMake we avoid confusion between the versions. CMake itself builds without WIN32 defined on Cygwin. Simply disable CMAKE_LEGACY_CYGWIN_WIN32 explicitly in our own CMakeLists.txt file.
* Begin post-2.8.3 developmentDavid Cole2010-11-031-2/+2
|