[cmake-commits] david.cole committed CMakeLists.txt 1.10 1.11
CMakeSetupManifest.xml NONE 1.1
cmake-commits at cmake.org
cmake-commits at cmake.org
Tue Sep 11 15:21:39 EDT 2007
Update of /cvsroot/CMake/CMake/Source/MFCDialog
In directory public:/mounts/ram/cvs-serv24051/Source/MFCDialog
Modified Files:
CMakeLists.txt
Added Files:
CMakeSetupManifest.xml
Log Message:
ENH: Avoid prompting for admin privileges when running CMakeSetup.exe on Vista by adding a requestedExecutionLevel element to its manifest.
Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/MFCDialog/CMakeLists.txt,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- CMakeLists.txt 28 Mar 2005 18:20:55 -0000 1.10
+++ CMakeLists.txt 11 Sep 2007 19:21:37 -0000 1.11
@@ -30,4 +30,23 @@
ADD_EXECUTABLE(CMakeSetup WIN32 ${SRCS})
TARGET_LINK_LIBRARIES(CMakeSetup CMakeLib)
ADD_DEPENDENCIES(CMakeSetup cmake)
+
+IF(MSVC AND NOT MSVC60 AND NOT MSVC70 AND NOT MSVC71)
+ SET(exe "${CMAKE_CFG_INTDIR}/CMakeSetup.exe")
+ IF(EXECUTABLE_OUTPUT_PATH)
+ SET(exe "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/CMakeSetup.exe")
+ ENDIF(EXECUTABLE_OUTPUT_PATH)
+
+ # Solve the "things named like *Setup prompt for admin privileges
+ # on Vista" problem by merging a manifest fragment that contains a
+ # requestedExecutionLevel element:
+ #
+ ADD_CUSTOM_COMMAND(TARGET CMakeSetup
+ POST_BUILD COMMAND mt
+ "-inputresource:${exe};#1"
+ -manifest "${CMAKE_CURRENT_SOURCE_DIR}/CMakeSetupManifest.xml"
+ "-outputresource:${exe};#1"
+ )
+ENDIF(MSVC AND NOT MSVC60 AND NOT MSVC70 AND NOT MSVC71)
+
INSTALL_TARGETS(/bin CMakeSetup)
--- NEW FILE: CMakeSetupManifest.xml ---
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
More information about the Cmake-commits
mailing list