@@ -137,25 +137,22 @@ target_link_options(mklev PRIVATE
137137# READ_ME step 4: make the directory 700 mode
138138# READ_ME step 5: create perm (0 length regular file)
139139
140- add_custom_target (setup_hackdir ALL
141- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR} /hackdir
142- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR} /hackdir/save
143- COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR} /hackdir/perm
144- COMMAND ${CMAKE_COMMAND} -E rm -rf ${CMAKE_BINARY_DIR} /hackdir/record
145- COMMAND ${CMAKE_COMMAND} -E rm -rf ${CMAKE_BINARY_DIR} /hackdir/news
146- COMMAND ${CMAKE_COMMAND} -E rm -rf ${CMAKE_BINARY_DIR} /hackdir/moves
147- COMMAND ${CMAKE_COMMAND} -E copy
148- ${CMAKE_CURRENT_SOURCE_DIR} /original/record
149- ${CMAKE_BINARY_DIR} /hackdir/record
150-
151- # Copy game data files from original
152- COMMAND ${CMAKE_COMMAND} -E copy
153- ${CMAKE_CURRENT_SOURCE_DIR} /original/news
154- ${CMAKE_BINARY_DIR} /hackdir/news
155- COMMAND ${CMAKE_COMMAND} -E copy
156- ${CMAKE_CURRENT_SOURCE_DIR} /original/moves
157- ${CMAKE_BINARY_DIR} /hackdir/moves
140+ set (_HACKDIR_PATH "${CMAKE_BINARY_DIR} /hackdir" )
141+ file (MAKE_DIRECTORY "${_HACKDIR_PATH} " )
142+ file (MAKE_DIRECTORY "${_HACKDIR_PATH} /save" )
143+ file (TOUCH "${_HACKDIR_PATH} /perm" )
144+ foreach (name IN ITEMS record news moves)
145+ set (_src "${CMAKE_CURRENT_SOURCE_DIR} /original/${name} " )
146+ set (_dst "${_HACKDIR_PATH} /${name} " )
147+ file (REMOVE_RECURSE "${_dst} " )
148+ if (EXISTS "${_src} " )
149+ file (COPY "${_src} " DESTINATION "${_HACKDIR_PATH} " )
150+ else ()
151+ file (TOUCH "${_dst} " )
152+ endif ()
153+ endforeach ()
158154
155+ add_custom_target (setup_hackdir ALL
159156 COMMENT "Setting up hackdir (READ_ME steps 2-5)"
160157 VERBATIM
161158)
0 commit comments