diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx index 7500b326dc..876498d12f 100644 --- a/Source/cmInstallGenerator.cxx +++ b/Source/cmInstallGenerator.cxx @@ -219,6 +219,10 @@ bool cmInstallGenerator::InstallsForConfig(std::string const& config) std::string cmInstallGenerator::ConvertToAbsoluteDestination( std::string const& dest) { + if (dest == ".") { + return "${CMAKE_INSTALL_PREFIX}"; + } + std::string result; if (!dest.empty() && !cmSystemTools::FileIsFullPath(dest)) { result = "${CMAKE_INSTALL_PREFIX}/"; diff --git a/Tests/RunCMake/install/FILES-DESTINATION-dot-all-stdout.txt b/Tests/RunCMake/install/FILES-DESTINATION-dot-all-stdout.txt new file mode 100644 index 0000000000..d9fde44ced --- /dev/null +++ b/Tests/RunCMake/install/FILES-DESTINATION-dot-all-stdout.txt @@ -0,0 +1,2 @@ +-- Installing: [^ +]+/Tests/RunCMake/install/FILES-DESTINATION-dot-build/root-all/empty\.c diff --git a/Tests/RunCMake/install/FILES-DESTINATION-dot.cmake b/Tests/RunCMake/install/FILES-DESTINATION-dot.cmake new file mode 100644 index 0000000000..eb3b0d52ce --- /dev/null +++ b/Tests/RunCMake/install/FILES-DESTINATION-dot.cmake @@ -0,0 +1 @@ +install(FILES empty.c DESTINATION ".") diff --git a/Tests/RunCMake/install/RunCMakeTest.cmake b/Tests/RunCMake/install/RunCMakeTest.cmake index 818b898872..fcd1cd503e 100644 --- a/Tests/RunCMake/install/RunCMakeTest.cmake +++ b/Tests/RunCMake/install/RunCMakeTest.cmake @@ -127,6 +127,7 @@ if(CMake_TEST_ISPC) run_install_test(FILES-EXTRA_ISPC_TARGET_OBJECTS) endif() +run_install_test(FILES-DESTINATION-dot) run_install_test(TARGETS-InstallFromSubDir) run_install_test(TARGETS-OPTIONAL)