Merge topic 'export-no-custom-target'

7e9f908e export: Reject custom target exports earlier (#15657)
3b09398a Tests: Teach RunCMake.export to enable languages only when needed
This commit is contained in:
Brad King 2015-07-22 11:04:32 -04:00 committed by CMake Topic Stage
commit e00e8713de
10 changed files with 19 additions and 3 deletions

View File

@ -177,6 +177,12 @@ bool cmExportCommand
this->SetError(e.str());
return false;
}
if (target->GetType() == cmTarget::UTILITY)
{
this->SetError("given custom target \"" + *currentTarget
+ "\" which may not be exported.");
return false;
}
}
else
{

View File

@ -1,4 +1,4 @@
CMake Error at AppendExport.cmake:8 \(export\):
CMake Error at AppendExport.cmake:[0-9]+ \(export\):
export EXPORT signature does not recognise the APPEND option.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)

View File

@ -1,3 +1,4 @@
enable_language(CXX)
add_library(foo empty.cpp)
export(TARGETS foo FILE "${CMAKE_CURRENT_BINARY_DIR}/foo.cmake")
install(TARGETS foo EXPORT fooExport

View File

@ -1,3 +1,3 @@
cmake_minimum_required(VERSION 2.8.4)
project(${RunCMake_TEST})
project(${RunCMake_TEST} NONE)
include(${RunCMake_TEST}.cmake)

View File

@ -0,0 +1 @@
1

View File

@ -0,0 +1,4 @@
^CMake Error at CustomTarget.cmake:[0-9]+ \(export\):
export given custom target "CustomTarget" which may not be exported.
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)$

View File

@ -0,0 +1,2 @@
add_custom_target(CustomTarget)
export(TARGETS CustomTarget FILE somefile.cmake)

View File

@ -1,4 +1,4 @@
CMake Error at OldIface.cmake:8 \(export\):
CMake Error at OldIface.cmake:[0-9]+ \(export\):
export EXPORT signature does not recognise the
EXPORT_LINK_INTERFACE_LIBRARIES option.
Call Stack \(most recent call first\):

View File

@ -1,3 +1,4 @@
enable_language(CXX)
add_library(foo empty.cpp)
export(TARGETS foo FILE "${CMAKE_CURRENT_BINARY_DIR}/foo.cmake")
install(TARGETS foo EXPORT fooExport

View File

@ -1,5 +1,6 @@
include(RunCMake)
run_cmake(CustomTarget)
run_cmake(TargetNotFound)
run_cmake(AppendExport)
run_cmake(OldIface)