[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1040-g719298b
Brad King
brad.king at kitware.com
Wed Dec 3 09:44:50 EST 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 719298b41f47721d3efe2a0bc33709db82118ee5 (commit)
via 352f246f3ebfd8daf5fda9bad2db01b56fa4bf4d (commit)
from 34a3df2f3d59f62be871db543f975c3a44b1cf30 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=719298b41f47721d3efe2a0bc33709db82118ee5
commit 719298b41f47721d3efe2a0bc33709db82118ee5
Merge: 34a3df2 352f246
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Dec 3 09:44:49 2014 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Dec 3 09:44:49 2014 -0500
Merge topic 'vs-phone-store-deployment-location' into next
352f246f VS: Add source file property to specify Windows App deployment location
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=352f246f3ebfd8daf5fda9bad2db01b56fa4bf4d
commit 352f246f3ebfd8daf5fda9bad2db01b56fa4bf4d
Author: Gilles Khouzam <gillesk at microsoft.com>
AuthorDate: Tue Dec 2 13:32:45 2014 -0800
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Dec 3 09:31:59 2014 -0500
VS: Add source file property to specify Windows App deployment location
Add a VS_DEPLOYMENT_LOCATION source file property to specify where to
put files that are part of the package. For example:
set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "assets")
Without this, sources marked with VS_DEPLOYMENT_CONTENT cannot be
located properly.
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index 9ed53fa..cca6d28 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -291,6 +291,7 @@ Properties on Source Files
/prop_sf/OBJECT_OUTPUTS
/prop_sf/SYMBOLIC
/prop_sf/VS_DEPLOYMENT_CONTENT
+ /prop_sf/VS_DEPLOYMENT_LOCATION
/prop_sf/VS_SHADER_ENTRYPOINT
/prop_sf/VS_SHADER_MODEL
/prop_sf/VS_SHADER_TYPE
diff --git a/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst b/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
new file mode 100644
index 0000000..303db95
--- /dev/null
+++ b/Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
@@ -0,0 +1,8 @@
+VS_DEPLOYMENT_LOCATION
+----------------------
+
+Specifies the deployment location for a content source file with a Windows
+Phone or Windows Store application when built with a Visual Studio generator.
+This property is only applicable when using :prop_sf:`VS_DEPLOYMENT_CONTENT`.
+The value represent the path relative to the app package and applies to all
+configurations.
diff --git a/Help/release/3.1.0.rst b/Help/release/3.1.0.rst
index ba729a3..1ede02b 100644
--- a/Help/release/3.1.0.rst
+++ b/Help/release/3.1.0.rst
@@ -159,6 +159,10 @@ Properties
to tell the Visual Studio generators to mark content for deployment
in Windows Phone and Windows Store projects.
+* A :prop_sf:`VS_DEPLOYMENT_LOCATION` source file property was added
+ to tell the Visual Studio generators the relative location of content
+ marked for deployment in Windows Phone and Windows Store projects.
+
* The :prop_tgt:`VS_WINRT_COMPONENT` target property was created to
tell Visual Studio generators to compile a shared library as a
Windows Runtime (WinRT) component.
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 4fbd8fd..832b2f6 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1261,6 +1261,7 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
}
std::string deployContent;
+ std::string deployLocation;
if(this->GlobalGenerator->TargetsWindowsPhone() ||
this->GlobalGenerator->TargetsWindowsStore())
{
@@ -1269,6 +1270,12 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
{
toolHasSettings = true;
deployContent = content;
+
+ const char* location = sf->GetProperty("VS_DEPLOYMENT_LOCATION");
+ if(location && *location)
+ {
+ deployLocation = location;
+ }
}
}
@@ -1283,6 +1290,14 @@ void cmVisualStudio10TargetGenerator::WriteExtraSource(cmSourceFile const* sf)
cmGeneratorExpression ge;
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge =
ge.Parse(deployContent);
+ // Deployment location cannot be set on a configuration basis
+ if(!deployLocation.empty())
+ {
+ this->WriteString("<Link>", 3);
+ (*this->BuildFileStream) << deployLocation
+ << "\\%(FileName)%(Extension)";
+ this->WriteString("</Link>\n", 0);
+ }
for(size_t i = 0; i != configs->size(); ++i)
{
if(0 == strcmp(cge->Evaluate(this->Makefile, (*configs)[i]), "1"))
diff --git a/Tests/VSWinStorePhone/CMakeLists.txt b/Tests/VSWinStorePhone/CMakeLists.txt
index badb7da..7227fcc 100644
--- a/Tests/VSWinStorePhone/CMakeLists.txt
+++ b/Tests/VSWinStorePhone/CMakeLists.txt
@@ -86,6 +86,9 @@ if (WINDOWS_PHONE8)
elseif (NOT "${PLATFORM}" STREQUAL "DESKTOP")
set(CONTENT_FILES ${CONTENT_FILES}
${CMAKE_CURRENT_BINARY_DIR}/${APP_MANIFEST_NAME}
+ )
+
+ set(ASSET_FILES ${ASSET_FILES}
Direct3DApp1/Assets/Logo.png
Direct3DApp1/Assets/SmallLogo.png
Direct3DApp1/Assets/SplashScreen.png
@@ -94,10 +97,12 @@ elseif (NOT "${PLATFORM}" STREQUAL "DESKTOP")
endif()
set(RESOURCE_FILES
- ${CONTENT_FILES} ${DEBUG_CONTENT_FILES} ${RELEASE_CONTENT_FILES}
+ ${CONTENT_FILES} ${DEBUG_CONTENT_FILES} ${RELEASE_CONTENT_FILES} ${ASSET_FILES}
Direct3DApp1/Direct3DApp1_TemporaryKey.pfx)
set_property(SOURCE ${CONTENT_FILES} PROPERTY VS_DEPLOYMENT_CONTENT 1)
+set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_CONTENT 1)
+set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "Assets")
set_property(SOURCE ${DEBUG_CONTENT_FILES} PROPERTY VS_DEPLOYMENT_CONTENT $<CONFIG:Debug>)
set_property(SOURCE ${RELEASE_CONTENT_FILES} PROPERTY
VS_DEPLOYMENT_CONTENT $<OR:$<CONFIG:Release>,$<CONFIG:RelWithDebInfo>,$<CONFIG:MinSizeRel>>)
diff --git a/Tests/VSWinStorePhone/cmake/Package_vc11.store.appxmanifest.in b/Tests/VSWinStorePhone/cmake/Package_vc11.store.appxmanifest.in
index d3cb21f..68172fa 100644
--- a/Tests/VSWinStorePhone/cmake/Package_vc11.store.appxmanifest.in
+++ b/Tests/VSWinStorePhone/cmake/Package_vc11.store.appxmanifest.in
@@ -4,7 +4,7 @@
<Properties>
<DisplayName>@SHORT_NAME@</DisplayName>
<PublisherDisplayName>mgong</PublisherDisplayName>
- <Logo>StoreLogo.png</Logo>
+ <Logo>Assets/StoreLogo.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.2.1</OSMinVersion>
@@ -15,9 +15,9 @@
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="@SHORT_NAME at .App">
- <VisualElements DisplayName="@SHORT_NAME@" Description="@SHORT_NAME@" BackgroundColor="#336699" ForegroundText="light" Logo="Logo.png" SmallLogo="SmallLogo.png">
+ <VisualElements DisplayName="@SHORT_NAME@" Description="@SHORT_NAME@" BackgroundColor="#336699" ForegroundText="light" Logo="Assets/Logo.png" SmallLogo="Assets/SmallLogo.png">
<DefaultTile ShowName="allLogos" ShortName="@SHORT_NAME@" />
- <SplashScreen Image="SplashScreen.png" />
+ <SplashScreen Image="Assets/SplashScreen.png" />
</VisualElements>
</Application>
</Applications>
diff --git a/Tests/VSWinStorePhone/cmake/Package_vc12.store.appxmanifest.in b/Tests/VSWinStorePhone/cmake/Package_vc12.store.appxmanifest.in
index 495f18e..08205f5 100644
--- a/Tests/VSWinStorePhone/cmake/Package_vc12.store.appxmanifest.in
+++ b/Tests/VSWinStorePhone/cmake/Package_vc12.store.appxmanifest.in
@@ -4,7 +4,7 @@
<Properties>
<DisplayName>@SHORT_NAME@</DisplayName>
<PublisherDisplayName>mgong</PublisherDisplayName>
- <Logo>StoreLogo.png</Logo>
+ <Logo>Assets/StoreLogo.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.3</OSMinVersion>
@@ -20,14 +20,14 @@
Description="@SHORT_NAME@"
BackgroundColor="#336699"
ForegroundText="light"
- Square150x150Logo="Logo.png"
- Square30x30Logo="SmallLogo.png">
+ Square150x150Logo="Assets/Logo.png"
+ Square30x30Logo="Assets/SmallLogo.png">
<m2:DefaultTile ShortName="@SHORT_NAME@">
<m2:ShowNameOnTiles>
<m2:ShowOn Tile="square150x150Logo" />
</m2:ShowNameOnTiles>
</m2:DefaultTile>
- <m2:SplashScreen Image="SplashScreen.png" />
+ <m2:SplashScreen Image="Assets/SplashScreen.png" />
</m2:VisualElements>
</Application>
</Applications>
diff --git a/Tests/VSWinStorePhone/cmake/Package_vc12.wp.appxmanifest.in b/Tests/VSWinStorePhone/cmake/Package_vc12.wp.appxmanifest.in
index 2d4d389..d47d43c 100644
--- a/Tests/VSWinStorePhone/cmake/Package_vc12.wp.appxmanifest.in
+++ b/Tests/VSWinStorePhone/cmake/Package_vc12.wp.appxmanifest.in
@@ -6,7 +6,7 @@
<Properties>
<DisplayName>@SHORT_NAME@</DisplayName>
<PublisherDisplayName>mgong</PublisherDisplayName>
- <Logo>StoreLogo.png</Logo>
+ <Logo>Assets/StoreLogo.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.3.1</OSMinVersion>
@@ -22,14 +22,14 @@
Description="@SHORT_NAME@"
BackgroundColor="#336699"
ForegroundText="light"
- Square150x150Logo="Logo.png"
- Square30x30Logo="SmallLogo.png">
+ Square150x150Logo="Assets/Logo.png"
+ Square30x30Logo="Assets/SmallLogo.png">
<m2:DefaultTile ShortName="@SHORT_NAME@">
<m2:ShowNameOnTiles>
<m2:ShowOn Tile="square150x150Logo" />
</m2:ShowNameOnTiles>
</m2:DefaultTile>
- <m2:SplashScreen Image="SplashScreen.png" />
+ <m2:SplashScreen Image="Assets/SplashScreen.png" />
</m2:VisualElements>
</Application>
</Applications>
-----------------------------------------------------------------------
Summary of changes:
Help/manual/cmake-properties.7.rst | 1 +
Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst | 8 ++++++++
Help/release/3.1.0.rst | 4 ++++
Source/cmVisualStudio10TargetGenerator.cxx | 15 +++++++++++++++
Tests/VSWinStorePhone/CMakeLists.txt | 7 ++++++-
.../cmake/Package_vc11.store.appxmanifest.in | 6 +++---
.../cmake/Package_vc12.store.appxmanifest.in | 8 ++++----
.../cmake/Package_vc12.wp.appxmanifest.in | 8 ++++----
8 files changed, 45 insertions(+), 12 deletions(-)
create mode 100644 Help/prop_sf/VS_DEPLOYMENT_LOCATION.rst
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list