diff options
author | Feng Xiao <xfxyjwf@gmail.com> | 2015-06-05 17:59:09 -0700 |
---|---|---|
committer | Feng Xiao <xfxyjwf@gmail.com> | 2015-06-05 23:36:05 -0700 |
commit | dffd542bb8d45f6846a65864a39674669915fce6 (patch) | |
tree | 655fea2ccef1ccdc6f5dd7d3b9b31b521afe267e /cmake/update_file_lists.sh | |
parent | e9839ff444dc932cfc5578eaf00f7c80a927a4dc (diff) | |
download | protobuf-dffd542bb8d45f6846a65864a39674669915fce6.tar.gz protobuf-dffd542bb8d45f6846a65864a39674669915fce6.tar.bz2 protobuf-dffd542bb8d45f6846a65864a39674669915fce6.zip |
Update ./update_file_lists.sh.
Make it executable and generate extract_includes.bat in the same directory.
Diffstat (limited to 'cmake/update_file_lists.sh')
-rwxr-xr-x[-rw-r--r--] | cmake/update_file_lists.sh | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/cmake/update_file_lists.sh b/cmake/update_file_lists.sh index d64eb4ae..4466c021 100644..100755 --- a/cmake/update_file_lists.sh +++ b/cmake/update_file_lists.sh @@ -39,8 +39,8 @@ set_variable_value() { /^set\\($VARNAME/ { start = 1; print \$0; - split(values, vlist, \" \"); - for (i = 1; i <= length(vlist); ++i) { + len = split(values, vlist, \" \"); + for (i = 1; i <= len; ++i) { printf(\" %s%s\\n\", prefix, vlist[i]); } next; @@ -58,12 +58,12 @@ set_variable_value() { sort_files() { for FILE in $@; do echo $FILE - done | sort | uniq + done | LC_ALL=C sort | uniq } MAKEFILE=../src/Makefile.am CMAKE_DIR=. -EXTRACT_INCLUDES_BAT=../vsprojects/extract_includes.bat +EXTRACT_INCLUDES_BAT=extract_includes.bat.in [ -f "$MAKEFILE" ] || { echo "Cannot find: $MAKEFILE" @@ -105,10 +105,17 @@ set_variable_value $CMAKE_DIR/tests.cmake tests_files $COMMON_PREFIX $TEST_SOURC set_variable_value $CMAKE_DIR/tests.cmake lite_test_files $COMMON_PREFIX $LITE_TEST_SOURCES # Generate extract_includes.bat -for HEADER in $HEADERS; do - echo $(dirname $HEADER) | sed "s/\\//\\\\/g" -done | sort | uniq | sed "s/^/mkdir include\\\\/" > $EXTRACT_INCLUDES_BAT -for HEADER in $HEADERS; do - WINPATH=$(echo $HEADER | sed 's;/;\\\\;g') - echo "copy ..\\src\\$WINPATH include\\$WINPATH" >> $EXTRACT_INCLUDES_BAT +echo "mkdir include" > $EXTRACT_INCLUDES_BAT +for HEADER in $PUBLIC_HEADERS; do + HEADER_DIR=$(dirname $HEADER) + while [ ! "$HEADER_DIR" = "." ]; do + echo $HEADER_DIR | sed "s/\\//\\\\/g" + HEADER_DIR=$(dirname $HEADER_DIR) + done +done | sort | uniq | sed "s/^/mkdir include\\\\/" >> $EXTRACT_INCLUDES_BAT +for HEADER in $PUBLIC_HEADERS; do + WINPATH=$(echo $HEADER | sed 's;/;\\;g') + echo "copy \${PROTOBUF_SOURCE_WIN32_PATH}\\..\\src\\$WINPATH include\\$WINPATH" >> $EXTRACT_INCLUDES_BAT done +# Add pbconfig.h. +echo "copy \${PROTOBUF_BINARY_WIN32_PATH}\\google\\protobuf\\stubs\\pbconfig.h include\\google\\protobuf\\stubs\\pbconfig.h" >> $EXTRACT_INCLUDES_BAT |