Boost logo

Boost-Commit :

From: troy_at_[hidden]
Date: 2008-07-02 15:20:34


Author: troy
Date: 2008-07-02 15:20:34 EDT (Wed, 02 Jul 2008)
New Revision: 46999
URL: http://svn.boost.org/trac/boost/changeset/46999

Log:
Hopefully portable python modularize
Added:
   branches/CMake/release/tools/build/CMake/modularize.py (contents, props changed)
Text files modified:
   branches/CMake/release/libs/disjoint_sets/CMakeLists.txt | 1 -
   branches/CMake/release/tools/build/CMake/BoostCore.cmake | 14 +++-----------
   2 files changed, 3 insertions(+), 12 deletions(-)

Modified: branches/CMake/release/libs/disjoint_sets/CMakeLists.txt
==============================================================================
--- branches/CMake/release/libs/disjoint_sets/CMakeLists.txt (original)
+++ branches/CMake/release/libs/disjoint_sets/CMakeLists.txt 2008-07-02 15:20:34 EDT (Wed, 02 Jul 2008)
@@ -1,5 +1,4 @@
 boost_library_project(
   Disjoint_sets
   TESTDIRS test
- HEADERS pending/disjoint_sets.hpp
 )

Modified: branches/CMake/release/tools/build/CMake/BoostCore.cmake
==============================================================================
--- branches/CMake/release/tools/build/CMake/BoostCore.cmake (original)
+++ branches/CMake/release/tools/build/CMake/BoostCore.cmake 2008-07-02 15:20:34 EDT (Wed, 02 Jul 2008)
@@ -192,18 +192,10 @@
 
     if(THIS_PROJECT_HEADERS)
       add_custom_target(${LIBNAME}-modularize
- COMMAND mkdir -p ${Boost_SOURCE_DIR}/libs/${libname}/include/boost
- COMMAND rsync -a --exclude=".svn" --delete ${THIS_PROJECT_HEADERS} ${Boost_SOURCE_DIR}/libs/${libname}/include/boost/
- # Uncomment this to see how clean your toplevel boost/ dir is afterwards
- # COMMAND rm -rf ${THIS_PROJECT_HEADERS}
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/build/CMake/modularize.py
+ ${Boost_SOURCE_DIR}/boost ${THIS_PROJECT_HEADERS} ${Boost_SOURCE_DIR}/libs/${libname}/include/boost
         WORKING_DIRECTORY ${Boost_SOURCE_DIR}/boost
- COMMENT "Rsyncing ${THIS_PROJECT_HEADERS} to project include dir from toplevel boost dir"
- )
- add_custom_command(TARGET ${LIBNAME}-modularize
- POST_BUILD
- COMMAND rm -rf ${THIS_PROJECT_HEADERS}
- WORKING_DIRECTORY ${Boost_SOURCE_DIR}/boost
- COMMENT "Cleaning headers from ${LIBNAME} from toplevel boost dir"
+ COMMENT "Modularizing ${LIBNAME} headers to project-local dir from monolithic boost dir"
         )
       add_dependencies(modularize ${LIBNAME}-modularize)
     endif(THIS_PROJECT_HEADERS)

Added: branches/CMake/release/tools/build/CMake/modularize.py
==============================================================================
--- (empty file)
+++ branches/CMake/release/tools/build/CMake/modularize.py 2008-07-02 15:20:34 EDT (Wed, 02 Jul 2008)
@@ -0,0 +1,18 @@
+#!/usr/bin/python
+
+import shutil, sys, os, os.path
+srcdir = sys.argv[1]
+srcs = sys.argv[2:-1]
+dst = sys.argv[-1]
+
+print "%s => %s" % (srcs, dst)
+try:
+ shutil.rmtree(dst)
+except:
+ pass
+os.mkdir(dst)
+
+for src in srcs:
+ shutil.move(os.path.join(srcdir, src), os.path.join(dst, src))
+
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk