aboutsummaryrefslogtreecommitdiff
path: root/cmake/update_file_lists.sh
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2015-06-17 15:03:47 +0100
committerJon Skeet <skeet@pobox.com>2015-06-17 15:03:47 +0100
commite2acd854250b449a3fdeef2ad52402c4c5d78259 (patch)
treea08126762b6c76d56fde8ce443f8dff36408b6e0 /cmake/update_file_lists.sh
parentd9dc05e500807a6f0cd10d4637c599acc9a6aecf (diff)
parentb36395b2bac88f70070544c325bc09234cb1f1a6 (diff)
downloadprotobuf-e2acd854250b449a3fdeef2ad52402c4c5d78259.tar.gz
protobuf-e2acd854250b449a3fdeef2ad52402c4c5d78259.tar.bz2
protobuf-e2acd854250b449a3fdeef2ad52402c4c5d78259.zip
Merged master
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