On 15/06/2015 17:13, Mathieu Schroeter wrote:
Is MAX_PATH a problem with CPack? I received the following error when the destination is longer than MAX_PATH (here, 264 chars):

CPack Error: Problem copying file: S:/devel/bootstrap-windev/sysroot/toolchain/var/tmp/wpkg/source/epsitec+lydia/usr/share/epsitec/lydia/cache/data/Lydia.Arc.Components/lydia/electrum-arc/components/forms/options/CheckboxField/CheckboxField.styles.js -> S:/devel/bootstrap-windev/sysroot/toolchain/var/tmp/wpkg-8424/build/_CPack_Packages/win64-Source/TGZ/epsitec+lydia_0.1.0.0////usr/share/epsitec/lydia/cache/data/Lydia.Arc.Components/lydia/electrum-arc/components/forms/options/CheckboxField/CheckboxField.styles.js


  set(CPACK_SOURCE_GENERATOR "TGZ")
  set(CPACK_SOURCE_PACKAGE_FILE_NAME "epsitec+lydia_0.1.0.0")
  include(CPack)


If I reduce the longer, it works fine. I've just looked a bit in the sources. It seems that it uses UNC paths then I don't understand.
I'm using CMake 3.2.3.

Hello,

I've fixed this problem with the following patch:

--- a/Source/cmSystemTools.cxx    Wed Jun 24 13:44:50 2015
+++ b/Source/cmSystemTools.cxx    Wed Jun 24 13:45:01 2015
@@ -1949,14 +1949,14 @@
 {
 #if defined(_WIN32) && !defined(__CYGWIN__)
   cmSystemToolsWindowsHandle hFrom =
-    CreateFileW(cmsys::Encoding::ToWide(fromFile).c_str(),
+ CreateFileW(SystemTools::ConvertToWindowsExtendedPath(fromFile).c_str(),
                 GENERIC_READ, FILE_SHARE_READ, 0,
                 OPEN_EXISTING, 0, 0);
   cmSystemToolsWindowsHandle hTo =
-    CreateFileW(cmsys::Encoding::ToWide(toFile).c_str(),
+ CreateFileW(SystemTools::ConvertToWindowsExtendedPath(toFile).c_str(),
                 GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
   if(!hFrom || !hTo)
     {
     return false;
     }
   FILETIME timeCreation;

It's the cmSystemTools::CopyFileTime function where the paths are not converted to UNC.

But now I've an other problem:

CPack Error: Problem while adding file< S:/devel/bootstrap-windev/sysroot/toolchain/var/tmp/wpkg-7680/build/_CPack_Packages/win64-Source/TGZ/epsitec+lydia_0.1.0.0/usr/share/epsitec/lydia/cache/data/Lydia.Arc.Components/lydia/electrum-arc/components/forms/options/CheckboxField/CheckboxField.styles.js> to archive <S:/devel/bootstrap-windev/sysroot/toolchain/var/tmp/wpkg-7680/build/_CPack_Packages/win64-Source/TGZ/epsitec+lydia_0.1.0.0.tar.gz> .ERROR =Error opening "epsitec+lydia_0.1.0.0/usr/share/epsitec/lydia/cache/data/Lydia.Arc.Components/lydia/electrum-arc/components/forms/options/CheckboxField/CheckboxField.styles.js": No such file or directory
CPack Error: Problem compressing the directory
Err: CPack Error: Error when generating package: Project


It seems that there are several MAX_PATH problems with CPack.

Regards,

Mathieu

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to