cmake_uninstall.cmake.in
author Sam Lantinga <slouken@libsdl.org>
Thu, 12 Oct 2017 08:44:45 -0700
changeset 11605 b914622c734e
parent 8874 48d4f2d74d67
permissions -rw-r--r--
Fixed bug 3867 - Can't find install_manifest.txt when running 'uninstall' target

Steve Robinson

When I try to build the 'uninstall' target in CMake when SDL2 is added to a subdirectory of my project, I get this error:

1>CMake Error at cmake_uninstall.cmake:2 (message):
1> Cannot find install manifest:
1> "D:/Code/sdl2-tutorial/_build/3rdparty/SDL2/SDL2-2.0.6/install_manifest.txt"

The install_manifest.txt is actually in the top-level binary directory, not the project-specific binary directory.

To fix it, change all instances of:
CMAKE_CURRENT_BINARY_DIR

To:
CMAKE_BINARY_DIR

In:
cmake_uninstall.cmake.in
slouken@11605
     1
if (NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
slouken@11605
     2
    message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_BINARY_DIR@/install_manifest.txt\"")
slouken@11605
     3
endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
wander@8874
     4
slouken@11605
     5
file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
wander@8874
     6
string(REGEX REPLACE "\n" ";" files "${files}")
wander@8874
     7
foreach (file ${files})
wander@8874
     8
    message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
wander@8874
     9
    execute_process(
wander@8874
    10
        COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}"
wander@8874
    11
        OUTPUT_VARIABLE rm_out
wander@8874
    12
        RESULT_VARIABLE rm_retval
wander@8874
    13
    )
wander@8874
    14
    if(NOT ${rm_retval} EQUAL 0)
wander@8874
    15
        message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
wander@8874
    16
    endif (NOT ${rm_retval} EQUAL 0)
wander@8874
    17
endforeach(file)
wander@8874
    18