[Cmake-commits] [cmake-commits] king committed AddExternalProject.cmake 1.9 1.10
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Mar 18 11:01:02 EDT 2009
Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv15041/Modules
Modified Files:
AddExternalProject.cmake
Log Message:
ENH: Add patch step for add_external_project
The patch step runs parallel to the update step since it does not make
sense to have both. Configuration of the step requires specification of
a PATCH_COMMAND argument to add_external_project.
Index: AddExternalProject.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/AddExternalProject.cmake,v
retrieving revision 1.9
retrieving revision 1.10
diff -C 2 -d -r1.9 -r1.10
*** AddExternalProject.cmake 18 Mar 2009 15:00:27 -0000 1.9
--- AddExternalProject.cmake 18 Mar 2009 15:00:55 -0000 1.10
***************
*** 449,452 ****
--- 449,481 ----
+ function(add_external_project_patch_command name)
+ get_external_project_directories(base_dir build_dir downloads_dir install_dir
+ sentinels_dir source_dir tmp_dir)
+
+ get_target_property(cmd ${name} AEP_PATCH_COMMAND)
+ if(cmd)
+ add_custom_command(
+ OUTPUT ${sentinels_dir}/${name}-patch
+ COMMAND ${cmd}
+ COMMAND ${CMAKE_COMMAND} -E touch ${sentinels_dir}/${name}-patch
+ WORKING_DIRECTORY ${source_dir}/${name}
+ COMMENT "Performing patch step for '${name}'"
+ DEPENDS ${sentinels_dir}/${name}-download
+ VERBATIM
+ )
+ return()
+ endif()
+
+ add_custom_command(
+ OUTPUT ${sentinels_dir}/${name}-patch
+ COMMAND ${CMAKE_COMMAND} -E touch ${sentinels_dir}/${name}-patch
+ WORKING_DIRECTORY ${sentinels_dir}
+ COMMENT "No patch step for '${name}'"
+ DEPENDS ${sentinels_dir}/${name}-download
+ VERBATIM
+ )
+ endfunction(add_external_project_patch_command)
+
+
function(add_external_project_configure_command name)
get_external_project_directories(base_dir build_dir downloads_dir install_dir
***************
*** 465,468 ****
--- 494,498 ----
COMMAND ${CMAKE_COMMAND} -E touch ${sentinels_dir}/${name}-working_dir
DEPENDS ${sentinels_dir}/${name}-update
+ ${sentinels_dir}/${name}-patch
${file_deps}
VERBATIM
***************
*** 636,639 ****
--- 666,670 ----
INSTALL_ARGS
INSTALL_COMMAND
+ PATCH_COMMAND
SVN_REPOSITORY
SVN_TAG
***************
*** 722,725 ****
--- 753,757 ----
add_external_project_download_command(${name})
add_external_project_update_command(${name})
+ add_external_project_patch_command(${name})
add_external_project_configure_command(${name})
add_external_project_build_command(${name})
More information about the Cmake-commits
mailing list