[Cmake-commits] CMake branch, next, updated. v3.2.2-2023-g5fe0bfa
Brad King
brad.king at kitware.com
Tue Apr 21 11:37:40 EDT 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 5fe0bfada47c3c5e7b27556ffd6b449896540133 (commit)
via 4bce6c5d20e86b4b99893abd80dfcaae804f8904 (commit)
via c0502faa4b6c0a3c33d1b0dd346801ff8d4f8b0d (commit)
from e74599068473f2d7e7c1f7f244c386ef11d6ae4b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5fe0bfada47c3c5e7b27556ffd6b449896540133
commit 5fe0bfada47c3c5e7b27556ffd6b449896540133
Merge: e745990 4bce6c5
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 21 11:37:38 2015 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Apr 21 11:37:38 2015 -0400
Merge topic 'ExternalProject-depend-INTERFACE' into next
4bce6c5d ExternalProject: Allow dependencies on INTERFACE libraries
c0502faa ExternalProject: Fix error message typo
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4bce6c5d20e86b4b99893abd80dfcaae804f8904
commit 4bce6c5d20e86b4b99893abd80dfcaae804f8904
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 21 11:32:22 2015 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 21 11:32:22 2015 -0400
ExternalProject: Allow dependencies on INTERFACE libraries
Respect INTERFACE library property whitelist. Check that a target has
type "UTILITY" before querying other properties.
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index db3086c..97bebc0 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -1539,6 +1539,11 @@ function(ExternalProject_Add_StepDependencies name step)
message(FATAL_ERROR "Cannot find target \"${name}\". Perhaps it has not yet been created using ExternalProject_Add.")
endif()
+ get_property(type TARGET ${name} PROPERTY TYPE)
+ if(NOT type STREQUAL "UTILITY")
+ message(FATAL_ERROR "Target \"${name}\" was not generated by ExternalProject_Add.")
+ endif()
+
get_property(is_ep TARGET ${name} PROPERTY _EP_IS_EXTERNAL_PROJECT)
if(NOT is_ep)
message(FATAL_ERROR "Target \"${name}\" was not generated by ExternalProject_Add.")
@@ -1551,6 +1556,10 @@ function(ExternalProject_Add_StepDependencies name step)
endif()
if(TARGET ${name}-${step})
+ get_property(type TARGET ${name}-${step} PROPERTY TYPE)
+ if(NOT type STREQUAL "UTILITY")
+ message(FATAL_ERROR "Target \"${name}-${step}\" was not generated by ExternalProject_Add_StepTargets.")
+ endif()
get_property(is_ep_step TARGET ${name}-${step} PROPERTY _EP_IS_EXTERNAL_PROJECT_STEP)
if(NOT is_ep_step)
message(FATAL_ERROR "Target \"${name}-${step}\" was not generated by ExternalProject_Add_StepTargets.")
@@ -2034,10 +2043,13 @@ function(_ep_add_configure_command name)
set(file_deps)
get_property(deps TARGET ${name} PROPERTY _EP_DEPENDS)
foreach(dep IN LISTS deps)
- get_property(is_ep TARGET ${dep} PROPERTY _EP_IS_EXTERNAL_PROJECT)
- if(is_ep)
- _ep_get_step_stampfile(${dep} "done" done_stamp_file)
- list(APPEND file_deps ${done_stamp_file})
+ get_property(dep_type TARGET ${dep} PROPERTY TYPE)
+ if(dep_type STREQUAL "UTILITY")
+ get_property(is_ep TARGET ${dep} PROPERTY _EP_IS_EXTERNAL_PROJECT)
+ if(is_ep)
+ _ep_get_step_stampfile(${dep} "done" done_stamp_file)
+ list(APPEND file_deps ${done_stamp_file})
+ endif()
endif()
endforeach()
diff --git a/Tests/ExternalProjectSubdir/CMakeLists.txt b/Tests/ExternalProjectSubdir/CMakeLists.txt
index 013b418..d2ce0be 100644
--- a/Tests/ExternalProjectSubdir/CMakeLists.txt
+++ b/Tests/ExternalProjectSubdir/CMakeLists.txt
@@ -2,6 +2,13 @@ cmake_minimum_required(VERSION 3.2)
project(ExternalProjectSubdir NONE)
include(ExternalProject)
+file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/PreSubdir1.txt)
+add_custom_target(PreSubdir1
+ COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/PreSubdir1.txt
+ )
+add_library(PreSubdir1Interface INTERFACE)
+add_dependencies(PreSubdir1Interface PreSubdir1)
+
ExternalProject_Add(Subdir1
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Subdir1
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/Subdir1
@@ -11,4 +18,6 @@ ExternalProject_Add(Subdir1
BUILD_COMMAND ""
INSTALL_COMMAND ""
+
+ DEPENDS PreSubdir1Interface
)
diff --git a/Tests/ExternalProjectSubdir/Subdir1/CMakeLists.txt b/Tests/ExternalProjectSubdir/Subdir1/CMakeLists.txt
index 28107f0..2303c3e 100644
--- a/Tests/ExternalProjectSubdir/Subdir1/CMakeLists.txt
+++ b/Tests/ExternalProjectSubdir/Subdir1/CMakeLists.txt
@@ -8,3 +8,7 @@ endif()
if(NOT "${GENEX_VAR}" STREQUAL "GENEX_VALUE")
message(SEND_ERROR "GENEX_VAR != 'GENEX_VALUE'")
endif()
+
+if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/../PreSubdir1.txt")
+ message(SEND_ERROR "../PreSubdir1.txt not provided!")
+endif()
diff --git a/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface-result.txt b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface-stderr.txt b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface-stderr.txt
new file mode 100644
index 0000000..1c0b601
--- /dev/null
+++ b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface-stderr.txt
@@ -0,0 +1,5 @@
+^CMake Error at .*/Modules/ExternalProject.cmake:[0-9]+ \(message\):
+ Target "SomeInterface" was not generated by ExternalProject_Add.
+Call Stack \(most recent call first\):
+ Add_StepDependencies_iface.cmake:[0-9]+ \(ExternalProject_Add_StepDependencies\)
+ CMakeLists.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface.cmake b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface.cmake
new file mode 100644
index 0000000..f7cfde1
--- /dev/null
+++ b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface.cmake
@@ -0,0 +1,4 @@
+include(ExternalProject)
+
+add_library(SomeInterface INTERFACE)
+ExternalProject_Add_StepDependencies(SomeInterface step dep)
diff --git a/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-result.txt b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt
new file mode 100644
index 0000000..22e13bf
--- /dev/null
+++ b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt
@@ -0,0 +1,5 @@
+^CMake Error at .*/Modules/ExternalProject.cmake:[0-9]+ \(message\):
+ Target "MyProj-IFace" was not generated by ExternalProject_Add_StepTargets.
+Call Stack \(most recent call first\):
+ Add_StepDependencies_iface_step.cmake:[0-9]+ \(ExternalProject_Add_StepDependencies\)
+ CMakeLists.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step.cmake b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step.cmake
new file mode 100644
index 0000000..0289493
--- /dev/null
+++ b/Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step.cmake
@@ -0,0 +1,11 @@
+include(ExternalProject)
+
+ExternalProject_Add(MyProj
+ DOWNLOAD_COMMAND ""
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND ""
+ )
+
+add_library(MyProj-IFace INTERFACE)
+ExternalProject_Add_StepDependencies(MyProj IFace dep)
diff --git a/Tests/RunCMake/ExternalProject/RunCMakeTest.cmake b/Tests/RunCMake/ExternalProject/RunCMakeTest.cmake
index 0f5dcef..a82ffc9 100644
--- a/Tests/RunCMake/ExternalProject/RunCMakeTest.cmake
+++ b/Tests/RunCMake/ExternalProject/RunCMakeTest.cmake
@@ -5,4 +5,6 @@ run_cmake(CMAKE_CACHE_DEFAULT_ARGS)
run_cmake(CMAKE_CACHE_mix)
run_cmake(NO_DEPENDS)
run_cmake(Add_StepDependencies)
+run_cmake(Add_StepDependencies_iface)
+run_cmake(Add_StepDependencies_iface_step)
run_cmake(Add_StepDependencies_no_target)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c0502faa4b6c0a3c33d1b0dd346801ff8d4f8b0d
commit c0502faa4b6c0a3c33d1b0dd346801ff8d4f8b0d
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 21 11:32:13 2015 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 21 11:32:13 2015 -0400
ExternalProject: Fix error message typo
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index d9b6842..db3086c 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -1553,7 +1553,7 @@ function(ExternalProject_Add_StepDependencies name step)
if(TARGET ${name}-${step})
get_property(is_ep_step TARGET ${name}-${step} PROPERTY _EP_IS_EXTERNAL_PROJECT_STEP)
if(NOT is_ep_step)
- message(FATAL_ERROR "Target \"${name}\" was not generated by ExternalProject_Add_StepTargets.")
+ message(FATAL_ERROR "Target \"${name}-${step}\" was not generated by ExternalProject_Add_StepTargets.")
endif()
endif()
-----------------------------------------------------------------------
Summary of changes:
Modules/ExternalProject.cmake | 22 +++++++++++++++-----
Tests/ExternalProjectSubdir/CMakeLists.txt | 9 ++++++++
Tests/ExternalProjectSubdir/Subdir1/CMakeLists.txt | 4 ++++
.../Add_StepDependencies_iface-result.txt} | 0
.../Add_StepDependencies_iface-stderr.txt | 5 +++++
.../Add_StepDependencies_iface.cmake | 4 ++++
.../Add_StepDependencies_iface_step-result.txt} | 0
.../Add_StepDependencies_iface_step-stderr.txt | 5 +++++
.../Add_StepDependencies_iface_step.cmake | 11 ++++++++++
Tests/RunCMake/ExternalProject/RunCMakeTest.cmake | 2 ++
10 files changed, 57 insertions(+), 5 deletions(-)
copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => ExternalProject/Add_StepDependencies_iface-result.txt} (100%)
create mode 100644 Tests/RunCMake/ExternalProject/Add_StepDependencies_iface-stderr.txt
create mode 100644 Tests/RunCMake/ExternalProject/Add_StepDependencies_iface.cmake
copy Tests/RunCMake/{CMP0004/CMP0004-NEW-result.txt => ExternalProject/Add_StepDependencies_iface_step-result.txt} (100%)
create mode 100644 Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step-stderr.txt
create mode 100644 Tests/RunCMake/ExternalProject/Add_StepDependencies_iface_step.cmake
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list