[Cmake-commits] [cmake-commits] king committed AddExternalProject.cmake 1.17 1.18

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Mar 30 11:38:09 EDT 2009


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv29824/Modules

Modified Files:
	AddExternalProject.cmake 
Log Message:
ENH: Simpler AddExternalProject configure step

This simplifies the implementation with add_external_project_step.


Index: AddExternalProject.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/AddExternalProject.cmake,v
retrieving revision 1.17
retrieving revision 1.18
diff -C 2 -d -r1.17 -r1.18
*** AddExternalProject.cmake	30 Mar 2009 15:37:50 -0000	1.17
--- AddExternalProject.cmake	30 Mar 2009 15:38:05 -0000	1.18
***************
*** 467,519 ****
    #
    mkdir("${working_dir}")
!   add_custom_command(
!     OUTPUT ${sentinels_dir}/${name}-working_dir
      COMMAND ${CMAKE_COMMAND} -E make_directory ${working_dir}
!     COMMAND ${CMAKE_COMMAND} -E touch ${sentinels_dir}/${name}-working_dir
!     DEPENDS ${sentinels_dir}/${name}-update
!             ${sentinels_dir}/${name}-patch
!       ${file_deps}
!     VERBATIM
      )
  
!   get_target_property(cmd ${name} AEP_CONFIGURE_COMMAND)
!   if(cmd STREQUAL "")
!     # Explicit empty string means no configure step for this project
!     add_custom_command(
!       OUTPUT ${sentinels_dir}/${name}-configure
!       COMMAND ${CMAKE_COMMAND} -E touch ${sentinels_dir}/${name}-configure
!       WORKING_DIRECTORY ${working_dir}
!       COMMENT "No configure step for '${name}'"
!       DEPENDS ${sentinels_dir}/${name}-working_dir
!       VERBATIM
!       )
    else()
!     if(NOT cmd)
!       get_target_property(cmake_command ${name} AEP_CMAKE_COMMAND)
!       if(cmake_command)
!         set(cmd "${cmake_command}")
!       else()
!         set(cmd "${CMAKE_COMMAND}")
!       endif()
  
!       get_property(cmake_args TARGET ${name} PROPERTY AEP_CMAKE_ARGS)
!       list(APPEND cmd ${cmake_args})
  
!       get_target_property(cmake_generator ${name} AEP_CMAKE_GENERATOR)
!       if(cmake_generator)
!         list(APPEND cmd "-G${cmake_generator}" "${source_dir}/${name}")
!       endif()
      endif()
- 
-     add_custom_command(
-       OUTPUT ${sentinels_dir}/${name}-configure
-       COMMAND ${cmd}
-       COMMAND ${CMAKE_COMMAND} -E touch ${sentinels_dir}/${name}-configure
-       WORKING_DIRECTORY ${working_dir}
-       COMMENT "Performing configure step for '${name}'"
-       DEPENDS ${sentinels_dir}/${name}-working_dir
-       VERBATIM
-       )
    endif()
  endfunction(add_external_project_configure_command)
  
--- 467,502 ----
    #
    mkdir("${working_dir}")
!   add_external_project_step(${name} working_dir
!     COMMENT "Making directory \"${working_dir}\""
      COMMAND ${CMAKE_COMMAND} -E make_directory ${working_dir}
!     DEPENDEES update patch
!     DEPENDS ${file_deps}
      )
  
!   get_property(cmd_set TARGET ${name} PROPERTY AEP_CONFIGURE_COMMAND SET)
!   if(cmd_set)
!     get_property(cmd TARGET ${name} PROPERTY AEP_CONFIGURE_COMMAND)
    else()
!     get_target_property(cmake_command ${name} AEP_CMAKE_COMMAND)
!     if(cmake_command)
!       set(cmd "${cmake_command}")
!     else()
!       set(cmd "${CMAKE_COMMAND}")
!     endif()
  
!     get_property(cmake_args TARGET ${name} PROPERTY AEP_CMAKE_ARGS)
!     list(APPEND cmd ${cmake_args})
  
!     get_target_property(cmake_generator ${name} AEP_CMAKE_GENERATOR)
!     if(cmake_generator)
!       list(APPEND cmd "-G${cmake_generator}" "${source_dir}/${name}")
      endif()
    endif()
+ 
+   add_external_project_step(${name} configure
+     COMMAND ${cmd}
+     WORKING_DIRECTORY ${working_dir}
+     DEPENDEES working_dir
+     )
  endfunction(add_external_project_configure_command)
  



More information about the Cmake-commits mailing list