summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-10-02 17:52:13 (GMT)
committerBrad King <brad.king@kitware.com>2009-10-02 17:52:13 (GMT)
commitc513962701dd6fbab8113ae104deb0eaa76a16e1 (patch)
tree2dd039d951e1b24c2d8318b275c7033e22f9a851 /Source/cmMakefile.cxx
parent1e482435912f44e05b5e67f19b1bc14ff58a3169 (diff)
downloadCMake-c513962701dd6fbab8113ae104deb0eaa76a16e1.zip
CMake-c513962701dd6fbab8113ae104deb0eaa76a16e1.tar.gz
CMake-c513962701dd6fbab8113ae104deb0eaa76a16e1.tar.bz2
Create INTERPROCEDURAL_OPTIMIZATION build feature
This commit creates target and directory properties to enable the Intel interprocedural optimization support on Linux. Enabling it adds the compiler option '-ipo' and uses 'xiar' to create archives. See issue #9615.
Diffstat (limited to 'Source/cmMakefile.cxx')
-rw-r--r--Source/cmMakefile.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index afe5324..ce425d0 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -3555,6 +3555,19 @@ void cmMakefile::DefineProperties(cmake *cm)
"be followed. See the include_regular_expression command.", false);
cm->DefineProperty
+ ("INTERPROCEDURAL_OPTIMIZATION", cmProperty::DIRECTORY,
+ "Enable interprocedural optimization for targets in a directory.",
+ "If set to true, enables interprocedural optimizations "
+ "if they are known to be supported by the compiler.");
+
+ cm->DefineProperty
+ ("INTERPROCEDURAL_OPTIMIZATION_<CONFIG>", cmProperty::DIRECTORY,
+ "Per-configuration interprocedural optimization for a directory.",
+ "This is a per-configuration version of INTERPROCEDURAL_OPTIMIZATION. "
+ "If set, this property overrides the generic property "
+ "for the named configuration.");
+
+ cm->DefineProperty
("VARIABLES", cmProperty::DIRECTORY,
"List of variables defined in the current directory.",
"This read-only property specifies the list of CMake variables "