aboutsummaryrefslogtreecommitdiff
path: root/cmake/update_file_lists.sh
diff options
context:
space:
mode:
authorFeng Xiao <xfxyjwf@gmail.com>2015-06-05 17:59:09 -0700
committerFeng Xiao <xfxyjwf@gmail.com>2015-06-05 23:36:05 -0700
commitdffd542bb8d45f6846a65864a39674669915fce6 (patch)
tree655fea2ccef1ccdc6f5dd7d3b9b31b521afe267e /cmake/update_file_lists.sh
parente9839ff444dc932cfc5578eaf00f7c80a927a4dc (diff)
downloadprotobuf-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.sh27
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