From 72d13ff4826ff3e120fe2d052495b0806c2a5b90 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Mon, 29 Jul 2013 15:16:15 +0200 Subject: [PATCH] install: Remove error condition using INCLUDES DESTINATION without EXPORT. Commit 650e61f8 (Add a convenient way to add the includes install dir to the INTERFACE., 2013-01-05) introduced an error case for using the install(TARGETS) command with specified INCLUDES DESTINATION, but no specified EXPORT set. It is convenient to use a variable to set the various destinations for different outputs (as KDE does), and some targets such as executables are installed but not exported. This was triggering the error case, but as it is a common case, remove the error. --- Source/cmInstallCommand.cxx | 7 ------- Tests/RunCMake/include_directories/RunCMakeTest.cmake | 1 - .../include_directories/TargetInterfaceIncludes-result.txt | 1 - .../include_directories/TargetInterfaceIncludes-stderr.txt | 4 ---- .../include_directories/TargetInterfaceIncludes.cmake | 4 ---- 5 files changed, 17 deletions(-) delete mode 100644 Tests/RunCMake/include_directories/TargetInterfaceIncludes-result.txt delete mode 100644 Tests/RunCMake/include_directories/TargetInterfaceIncludes-stderr.txt delete mode 100644 Tests/RunCMake/include_directories/TargetInterfaceIncludes.cmake diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx index 4649eda14..0faf1d4de 100644 --- a/Source/cmInstallCommand.cxx +++ b/Source/cmInstallCommand.cxx @@ -295,13 +295,6 @@ bool cmInstallCommand::HandleTargetsMode(std::vector const& args) return false; } - if(!includesArgs.GetIncludeDirs().empty() && exports.GetString().empty()) - { - this->SetError("TARGETS given INCLUDES DESTINATION, but EXPORT set " - "not specified."); - return false; - } - // Enforce argument rules too complex to specify for the // general-purpose parser. if(archiveArgs.GetNamelinkOnly() || diff --git a/Tests/RunCMake/include_directories/RunCMakeTest.cmake b/Tests/RunCMake/include_directories/RunCMakeTest.cmake index e582960fb..520dd448d 100644 --- a/Tests/RunCMake/include_directories/RunCMakeTest.cmake +++ b/Tests/RunCMake/include_directories/RunCMakeTest.cmake @@ -9,4 +9,3 @@ run_cmake(RelativePathInInterface) run_cmake(ImportedTarget) run_cmake(RelativePathInGenex) run_cmake(CMP0021) -run_cmake(TargetInterfaceIncludes) diff --git a/Tests/RunCMake/include_directories/TargetInterfaceIncludes-result.txt b/Tests/RunCMake/include_directories/TargetInterfaceIncludes-result.txt deleted file mode 100644 index d00491fd7..000000000 --- a/Tests/RunCMake/include_directories/TargetInterfaceIncludes-result.txt +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/Tests/RunCMake/include_directories/TargetInterfaceIncludes-stderr.txt b/Tests/RunCMake/include_directories/TargetInterfaceIncludes-stderr.txt deleted file mode 100644 index d1539275d..000000000 --- a/Tests/RunCMake/include_directories/TargetInterfaceIncludes-stderr.txt +++ /dev/null @@ -1,4 +0,0 @@ -CMake Error at TargetInterfaceIncludes.cmake:3 \(install\): - install TARGETS given INCLUDES DESTINATION, but EXPORT set not specified. -Call Stack \(most recent call first\): - CMakeLists.txt:3 \(include\) diff --git a/Tests/RunCMake/include_directories/TargetInterfaceIncludes.cmake b/Tests/RunCMake/include_directories/TargetInterfaceIncludes.cmake deleted file mode 100644 index 92f31fc64..000000000 --- a/Tests/RunCMake/include_directories/TargetInterfaceIncludes.cmake +++ /dev/null @@ -1,4 +0,0 @@ - -add_library(empty empty.cpp) -install(TARGETS empty DESTINATION lib INCLUDES DESTINATION include) -# install(EXPORT )