Problem 1341

Summary: cmake error
Product: Geant4 Reporter: carl bruce <carl.bruce>
Component: cmakeAssignee: Ben Morgan <Ben.Morgan>
Status: CLOSED FIXED    
Severity: normal    
Priority: P5    
Version: 9.5   
Hardware: PC   
OS: Windows   
Attachments: Patch to resolve quoting errors when path has spaces

Description carl bruce 2012-07-31 01:57:55 CEST
74>EXEC : CMake error : cmake version 2.8.8
74>  Usage: C:/Program Files/CMake 2.8/bin/cmake.exe -E [command] [arguments ...]
74>  Available commands: 
74>    chdir dir cmd [args]...   - run command in a given directory
74>    compare_files file1 file2 - check if file1 is same as file2
74>    copy file destination     - copy file to destination (either file or directory)
74>    copy_directory source destination   - copy directory 'source' content to directory 'destination'
74>    copy_if_different in-file out-file  - copy file if input has changed
74>    echo [string]...          - displays arguments as text
74>    echo_append [string]...   - displays arguments as text but no new line
74>    environment               - display the current environment
74>    make_directory dir        - create a directory
74>    md5sum file1 [...]        - compute md5sum of files
74>    remove [-f] file1 file2 ... - remove the file(s), use -f to force it
74>    remove_directory dir      - remove a directory and its contents
74>    rename oldname newname    - rename a file or directory (on one volume)
74>    tar [cxt][vfz][cvfj] file.tar file/dir1 file/dir2 ... - create a tar archive
74>    time command [args] ...   - run command and return elapsed time
74>    touch file                - touch a file.
74>    touch_nocreate file       - touch a file but do not create it.
74>  Available on Windows only:
74>    comspec                   - on windows 9x use this for RunCommand
74>    delete_regv key           - delete registry value
74>    write_regv key value      - write registry value
74>  
74>  CMake Error at cmake_install.cmake:79 (execute_process):
74>    execute_process given unknown argument
74>    "Files/GEANT4/geant4.9.5-install/lib/Geant4-9.5.1".
74>  
74>  
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "setlocal
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: "C:\Program Files\CMake 2.8\bin\cmake.exe" -DBUILD_TYPE=Debug -P cmake_install.cmake
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmEnd
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmErrorLevel
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: exit /b %1
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :cmDone
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd
74>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 1.
74>
74>Build FAILED.
Comment 1 Ben Morgan 2012-08-06 13:28:16 CEST
This is due to some strings in the CMake scripts not being quoted, and hence errors when there are spaces in the path name (Program Files) in this case.

This is fixed as of r59522 in svn, but did not make it into 9.5.1. The solutions are to either install to a path without spaces, or to apply the attached patch to the file cmake/Modules/Geant4ToolchainBackwardCompatibility.cmake.

Ben.
Comment 2 Ben Morgan 2012-08-06 13:35:12 CEST
Created attachment 185 [details]
Patch to resolve quoting errors when path has spaces

Apply inside the geant4.9.5.1 source directory