diff options
author | Brad King <brad.king@kitware.com> | 2009-09-08 19:55:41 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-09-08 19:55:41 (GMT) |
commit | fd47a2ae966c3ac1fac1ee699728c55862fb23a2 (patch) | |
tree | aebe4b91f0fd4b906c7f0d1361ed8d2d9385cff4 /Modules/CMakeExportBuildSettings.cmake | |
parent | 002ae925c31fc3f041ac462919000535d221c93f (diff) | |
download | CMake-fd47a2ae966c3ac1fac1ee699728c55862fb23a2.zip CMake-fd47a2ae966c3ac1fac1ee699728c55862fb23a2.tar.gz CMake-fd47a2ae966c3ac1fac1ee699728c55862fb23a2.tar.bz2 |
Drop old CMake "build settings" export/import
The CMakeExportBuildSettings and CMakeImportBuildSettings modules used
to export compiler paths and flags from one project and import them into
another. The import process would force the settings on the including
project.
Forcing settings helped long ago when compiler ABIs changed frequently
but is now just a nuisance. We've deemed the behavior harmful so this
commit simply removes it. The modules and macros now error out if
included or called from a project that requires CMake 2.8 or higher.
Diffstat (limited to 'Modules/CMakeExportBuildSettings.cmake')
-rw-r--r-- | Modules/CMakeExportBuildSettings.cmake | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/Modules/CMakeExportBuildSettings.cmake b/Modules/CMakeExportBuildSettings.cmake index 0c71efa..b14455b 100644 --- a/Modules/CMakeExportBuildSettings.cmake +++ b/Modules/CMakeExportBuildSettings.cmake @@ -1,7 +1,18 @@ -# - export build settings from a project. -# CMAKE_EXPORT_BUILD_SETTINGS(SETTINGS_FILE) -# macro defined to export the build settings for use by another project. -# SETTINGS_FILE - the file into which the settings are to be stored. + +# This module is purposely no longer documented. It does nothing useful. +IF(NOT "${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS 2.7) + MESSAGE(FATAL_ERROR + "The functionality of this module has been dropped as of CMake 2.8. " + "It was deemed harmful (confusing users by changing their compiler). " + "Please remove calls to the CMAKE_EXPORT_BUILD_SETTINGS macro and " + "stop including this module. " + "If this project generates any files for use by external projects, " + "remove any use of the CMakeImportBuildSettings module from them.") +ENDIF() + +# This macro used to store build settings of a project in a file to be +# loaded by another project using CMAKE_IMPORT_BUILD_SETTINGS. Now it +# creates a file that refuses to load (with comment explaining why). MACRO(CMAKE_EXPORT_BUILD_SETTINGS SETTINGS_FILE) IF(${SETTINGS_FILE} MATCHES ".+") CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeBuildSettings.cmake.in |