diff options
author | John Szakmeister <john@szakmeister.net> | 2014-11-09 05:03:05 -0500 |
---|---|---|
committer | John Szakmeister <john@szakmeister.net> | 2014-11-09 05:03:05 -0500 |
commit | 1ea90f697113cc5a98e63df3f89552f0837561b1 (patch) | |
tree | 8d5b890b0514fad83f36727da60dbd9dc88587ba | |
parent | c9df7ba308434be02365a35458d67840fcba4c7e (diff) | |
parent | 938faf5e2d49a5ea7458eefbc0e0df0532d01d32 (diff) | |
download | rneovim-1ea90f697113cc5a98e63df3f89552f0837561b1.tar.gz rneovim-1ea90f697113cc5a98e63df3f89552f0837561b1.tar.bz2 rneovim-1ea90f697113cc5a98e63df3f89552f0837561b1.zip |
Merge pull request #1400 from jszakmeister/install-helpers-destdir
build: fix the usage of DESTDIR in InstallHelpers.cmake
-rw-r--r-- | cmake/InstallHelpers.cmake | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/cmake/InstallHelpers.cmake b/cmake/InstallHelpers.cmake index a23bf63ab3..763b2a092c 100644 --- a/cmake/InstallHelpers.cmake +++ b/cmake/InstallHelpers.cmake @@ -22,19 +22,21 @@ function(create_install_dir_with_perms) install(CODE " - if(ENV{DESTDIR}) - # TODO(fwalch): Is this branch ever taken (#1381, #1387)? - set(PREFIX \$ENV{DESTDIR}/\${CMAKE_INSTALL_PREFIX}) - else() - set(PREFIX \${CMAKE_INSTALL_PREFIX}) + if(DEFINED ENV{DESTDIR} AND NOT IS_ABSOLUTE \${CMAKE_INSTALL_PREFIX}) + message(FATAL_ERROR \"Install prefix must be absolute when using DESTDIR\") endif() - set(_current_dir \"\${PREFIX}/${_install_dir_DESTINATION}\") + set(_current_dir \"\${CMAKE_INSTALL_PREFIX}/${_install_dir_DESTINATION}\") set(_dir_permissions \"${_install_dir_DIRECTORY_PERMISSIONS}\") set(_parent_dirs) - while(NOT EXISTS \${_current_dir}) + set(_prev_dir) + + # Explicitly prepend DESTDIR when using EXISTS. + # file(INSTALL ...) implicitly respects DESTDIR, but EXISTS does not. + while(NOT EXISTS \$ENV{DESTDIR}\${_current_dir} AND NOT \${_prev_dir} STREQUAL \${_current_dir}) list(APPEND _parent_dirs \${_current_dir}) + set(_prev_dir \${_current_dir}) get_filename_component(_current_dir \${_current_dir} PATH) endwhile() @@ -47,6 +49,8 @@ function(create_install_dir_with_perms) # 3.0.2. foreach(_current_dir \${_parent_dirs}) if(NOT IS_DIRECTORY \${_current_dir}) + # file(INSTALL ...) implicitly respects DESTDIR, so there's no need to + # prepend it here. file(INSTALL DESTINATION \${_current_dir} TYPE DIRECTORY DIR_PERMISSIONS \${_dir_permissions} |