The following issue has been SUBMITTED. ====================================================================== http://public.kitware.com/Bug/view.php?id=14023 ====================================================================== Reported By: Andreas Mohr Assigned To: ====================================================================== Project: CMake Issue ID: 14023 Category: CMake Reproducibility: always Severity: minor Priority: normal Status: new ====================================================================== Date Submitted: 2013-03-18 13:15 EDT Last Modified: 2013-03-18 13:15 EDT ====================================================================== Summary: cmake -E touch / touch_nocreate of a directory fails on Windows yet succeeds on Linux Description: Touching a *file* returns success on both Windows and Linux, yet touching a *directory* succeeds on Linux (ext3) and fails on Windows 7 32bit (NTFS). Of course I wouldn't be reporting it here if it weren't for the fact that I got a bloody nose from that ;) (while trying to use these things in a build-time mechanism)
I'm not quite sure whether this really is something that should be made consistent in CMake's implementation, since it might simply be a difference in underlying filesystem mechanisms of the platforms. IOW, I don't know whether CMake's system-side implementation contains a stupid mistake, or whether it's simply that touch:ing a directory on Windows is supposed to do what it currently does. Any ideas, hints? Thanks! Steps to Reproduce: cmake_minimum_required(VERSION 2.6) project(test_touch_nocreate NONE) set(touch_sample_1 "${CMAKE_BINARY_DIR}/mytestdir") file(MAKE_DIRECTORY "${touch_sample_1}") set(touch_sample_2 "${CMAKE_CURRENT_LIST_FILE}") set(mytouch "${touch_sample_1}") # This works: #set(mytouch "${touch_sample_2}") # Does not matter whether we choose touch or touch_nocreate. set(touch_cmd_1 "touch") set(touch_cmd_2 "touch_nocreate") set(touch_cmd "${touch_cmd_1}") execute_process( COMMAND "${CMAKE_COMMAND}" -E ${touch_cmd} "${mytouch}" RESULT_VARIABLE res ) message("res is ${res}") ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2013-03-18 13:15 Andreas Mohr New Issue ====================================================================== -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers