26 lines
No EOL
768 B
CMake
26 lines
No EOL
768 B
CMake
#
|
|
# Usage: cmake -DSRC=path/relative/to/prefix/foo.bar -DPREFIX=/prefix/path -P remove-at-prefix.cmake
|
|
#
|
|
|
|
if (DEFINED ENV{DESTDIR})
|
|
set(DESTDIR $ENV{DESTDIR})
|
|
cmake_path(ABSOLUTE_PATH PREFIX NORMALIZE)
|
|
cmake_path(ABSOLUTE_PATH DESTDIR NORMALIZE)
|
|
|
|
cmake_path(GET PREFIX RELATIVE_PART RELATIVE_PREFIX)
|
|
# message("prefix ${PREFIX}")
|
|
# message("relprefix ${RELATIVE_PREFIX}")
|
|
|
|
cmake_path(APPEND NEWPREFIX ${DESTDIR} ${RELATIVE_PREFIX})
|
|
set(PREFIX ${NEWPREFIX})
|
|
# message("finalprefix ${PREFIX}")
|
|
endif()
|
|
|
|
cmake_path(APPEND REAL_FILE ${PREFIX} ${SRC})
|
|
|
|
message ("Removing: ${REAL_FILE}")
|
|
|
|
exec_program(${CMAKE_COMMAND} ARGS -E rm -r ${REAL_FILE} RETURN_VALUE RETVAL)
|
|
if (RETVAL)
|
|
message(FATAL_ERROR "failed to remove a file")
|
|
endif() |