Add default initializers for WIN32_EXECUTABLE and MACOSX_BUNDLE

This allows downstreams to use

set(CMAKE_WIN32_EXECUTABLE ON)
set(CMAKE_MACOSX_BUNDLE ON)

to create executables with the WIN32_EXECUTABLE and MACOSX_BUNDLE
properties set on by default.
This commit is contained in:
Stephen Kelly 2012-03-05 15:36:46 +01:00
parent 76bff60292
commit 761c146a4c
2 changed files with 24 additions and 2 deletions

View File

@ -1278,6 +1278,22 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
"See that target property for additional information.",
false,
"Variables that Control the Build");
cm->DefineProperty
("CMAKE_WIN32_EXECUTABLE", cmProperty::VARIABLE,
"Default value for WIN32_EXECUTABLE of targets.",
"This variable is used to initialize the "
"WIN32_EXECUTABLE property on all the targets. "
"See that target property for additional information.",
false,
"Variables that Control the Build");
cm->DefineProperty
("CMAKE_MACOSX_BUNDLE", cmProperty::VARIABLE,
"Default value for MACOSX_BUNDLE of targets.",
"This variable is used to initialize the "
"MACOSX_BUNDLE property on all the targets. "
"See that target property for additional information.",
false,
"Variables that Control the Build");
// Variables defined when the a language is enabled These variables will
// also be defined whenever CMake has loaded its support for compiling (LANG)

View File

@ -861,7 +861,9 @@ void cmTarget::DefineProperties(cmake *cm)
"of of just main()."
"This makes it a GUI executable instead of a console application. "
"See the CMAKE_MFC_FLAG variable documentation to configure use "
"of MFC for WinMain executables.");
"of MFC for WinMain executables. "
"This property is initialized by the value of the variable "
"CMAKE_WIN32_EXECUTABLE if it is set when a target is created.");
cm->DefineProperty
("MACOSX_BUNDLE", cmProperty::TARGET,
@ -871,7 +873,9 @@ void cmTarget::DefineProperties(cmake *cm)
"This makes it a GUI executable that can be launched from "
"the Finder. "
"See the MACOSX_BUNDLE_INFO_PLIST target property for information "
"about creation of the Info.plist file for the application bundle.");
"about creation of the Info.plist file for the application bundle. "
"This property is initialized by the value of the variable "
"CMAKE_MACOSX_BUNDLE if it is set when a target is created.");
cm->DefineProperty
("MACOSX_BUNDLE_INFO_PLIST", cmProperty::TARGET,
@ -1224,6 +1228,8 @@ void cmTarget::SetMakefile(cmMakefile* mf)
this->SetPropertyDefault("AUTOMOC", 0);
this->SetPropertyDefault("AUTOMOC_MOC_OPTIONS", 0);
this->SetPropertyDefault("LINK_INTERFACE_LIBRARIES", 0);
this->SetPropertyDefault("WIN32_EXECUTABLE", 0);
this->SetPropertyDefault("MACOSX_BUNDLE", 0);
// Collect the set of configuration types.
std::vector<std::string> configNames;