[Cmake-commits] [cmake-commits] king committed CMakeLists.txt 1.13 1.14 Step1Patch.cmake NONE 1.1
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Mar 18 11:01:06 EDT 2009
Update of /cvsroot/CMake/CMake/Tests/ExternalProject
In directory public:/mounts/ram/cvs-serv15041/Tests/ExternalProject
Modified Files:
CMakeLists.txt
Added Files:
Step1Patch.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: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/ExternalProject/CMakeLists.txt,v
retrieving revision 1.13
retrieving revision 1.14
diff -C 2 -d -r1.13 -r1.14
*** CMakeLists.txt 18 Mar 2009 15:00:30 -0000 1.13
--- CMakeLists.txt 18 Mar 2009 15:00:59 -0000 1.14
***************
*** 91,94 ****
--- 91,95 ----
INSTALL_ARGS ""
INSTALL_COMMAND ""
+ PATCH_COMMAND ""
SVN_REPOSITORY ""
SVN_TAG ""
***************
*** 117,120 ****
--- 118,122 ----
add_external_project(${proj}
TAR "${CMAKE_CURRENT_SOURCE_DIR}/Step1.tar"
+ PATCH_COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/Step1Patch.cmake
CMAKE_GENERATOR "${CMAKE_GENERATOR}"
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${prefix}
***************
*** 264,268 ****
add_test(TutorialStep1-LocalTAR-BuildTreeTest
! "${build_dir}/TutorialStep1-LocalTAR/Tutorial" 36)
add_test(TutorialStep1-LocalNoDirTAR-BuildTreeTest
--- 266,270 ----
add_test(TutorialStep1-LocalTAR-BuildTreeTest
! "${build_dir}/TutorialStep1-LocalTAR/EP-Tutorial" 36)
add_test(TutorialStep1-LocalNoDirTAR-BuildTreeTest
--- NEW FILE: Step1Patch.cmake ---
# Verify the current working directory.
if(NOT EXISTS CMakeLists.txt)
message(FATAL_ERROR "File does not exist:\n ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt")
endif()
if(NOT EXISTS tutorial.cxx)
message(FATAL_ERROR "File does not exist:\n ${CMAKE_CURRENT_SOURCE_DIR}/tutorial.cxx")
endif()
# Check if the patch is already applied.
file(STRINGS CMakeLists.txt prop_line REGEX "^set_property")
if(prop_line)
message(STATUS "Patch already applied!")
return()
endif()
# Apply the patch.
file(APPEND CMakeLists.txt "
# Patch by ExternalProject test:
set_property(TARGET Tutorial PROPERTY OUTPUT_NAME EP-Tutorial)
")
message(STATUS "Patched ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt")
More information about the Cmake-commits
mailing list