build: gh27 Allow builds in paths with spaces
Add quotes around shell var expansions in the update_external_sources scripts.
For Windows, remove the cmake directives to add a linker option for the DEF
files. These were redundant with the DEF files getting added via the
cmake add_library() directive. They were also causing difficult-to-fix
problems with paths that have spaces in them.
Change-Id: I741bac31bbf27deae59031b6aa916c6ab48383a6
diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt
index a5f38f0..13f9e69 100644
--- a/layers/CMakeLists.txt
+++ b/layers/CMakeLists.txt
@@ -76,7 +76,6 @@
add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}.def)
target_link_Libraries(VkLayer_${target} VkLayer_utils)
add_dependencies(VkLayer_${target} generate_dispatch_table_helper generate_vk_layer_helpers generate_enum_string_helper VkLayer_utils)
- set_target_properties(VkLayer_${target} PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR}/VkLayer_${target}.def")
endmacro()
else()
macro(add_vk_layer target)
diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
index 2758bfc..e0ab383 100644
--- a/loader/CMakeLists.txt
+++ b/loader/CMakeLists.txt
@@ -61,7 +61,6 @@
add_library(loader-opt OBJECT ${OPT_LOADER_SRCS})
target_compile_options(loader-opt PUBLIC "$<$<CONFIG:DEBUG>:${LOCAL_C_FLAGS_REL}>")
add_library(vulkan-${MAJOR} SHARED $<TARGET_OBJECTS:loader-opt> $<TARGET_OBJECTS:loader-norm> ${CMAKE_CURRENT_BINARY_DIR}/vulkan-${MAJOR}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
- set_target_properties(vulkan-${MAJOR} PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR}/vulkan-${MAJOR}.def")
add_library(VKstatic.${MAJOR} STATIC $<TARGET_OBJECTS:loader-opt> $<TARGET_OBJECTS:loader-norm>)
set_target_properties(VKstatic.${MAJOR} PROPERTIES OUTPUT_NAME VKstatic.${MAJOR})
target_link_libraries(vulkan-${MAJOR} shlwapi)
diff --git a/tests/layers/CMakeLists.txt b/tests/layers/CMakeLists.txt
index 2a9087e..c675f1e 100644
--- a/tests/layers/CMakeLists.txt
+++ b/tests/layers/CMakeLists.txt
@@ -44,7 +44,6 @@
)
add_library(VkLayer_${target} SHARED ${ARGN} VkLayer_${target}.def)
add_dependencies(VkLayer_${target} generate_tests_dispatch_table_helper VkLayer_utils)
- set_target_properties(VkLayer_${target} PROPERTIES LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR}/VkLayer_${target}.def")
endmacro()
else()
macro(add_vk_layer target)
diff --git a/update_external_sources.bat b/update_external_sources.bat
index 4775af7..65d151f 100644
--- a/update_external_sources.bat
+++ b/update_external_sources.bat
@@ -13,7 +13,7 @@
setlocal EnableDelayedExpansion
set errorCode=0
set BUILD_DIR=%~dp0
-set BASE_DIR=%BUILD_DIR%external
+set BASE_DIR="%BUILD_DIR%external"
set GLSLANG_DIR=%BASE_DIR%\glslang
set SPIRV_TOOLS_DIR=%BASE_DIR%\spirv-tools
diff --git a/update_external_sources.sh b/update_external_sources.sh
index 780d849..6f87903 100755
--- a/update_external_sources.sh
+++ b/update_external_sources.sh
@@ -3,64 +3,64 @@
set -e
-GLSLANG_REVISION=$(cat $PWD/glslang_revision)
-SPIRV_TOOLS_REVISION=$(cat $PWD/spirv-tools_revision)
-SPIRV_HEADERS_REVISION=$(cat $PWD/spirv-headers_revision)
-echo "GLSLANG_REVISION=$GLSLANG_REVISION"
-echo "SPIRV_TOOLS_REVISION=$SPIRV_TOOLS_REVISION"
-echo "SPIRV_HEADERS_REVISION=$SPIRV_HEADERS_REVISION"
+GLSLANG_REVISION=$(cat "${PWD}"/glslang_revision)
+SPIRV_TOOLS_REVISION=$(cat "${PWD}"/spirv-tools_revision)
+SPIRV_HEADERS_REVISION=$(cat "${PWD}"/spirv-headers_revision)
+echo "GLSLANG_REVISION=${GLSLANG_REVISION}"
+echo "SPIRV_TOOLS_REVISION=${SPIRV_TOOLS_REVISION}"
+echo "SPIRV_HEADERS_REVISION=${SPIRV_HEADERS_REVISION}"
BUILDDIR=$PWD
BASEDIR=$BUILDDIR/external
function create_glslang () {
- rm -rf $BASEDIR/glslang
- echo "Creating local glslang repository ($BASEDIR/glslang)."
- mkdir -p $BASEDIR/glslang
- cd $BASEDIR/glslang
+ rm -rf "${BASEDIR}"/glslang
+ echo "Creating local glslang repository (${BASEDIR}/glslang)."
+ mkdir -p "${BASEDIR}"/glslang
+ cd "${BASEDIR}"/glslang
git clone https://github.com/KhronosGroup/glslang.git .
- git checkout $GLSLANG_REVISION
+ git checkout ${GLSLANG_REVISION}
}
function update_glslang () {
- echo "Updating $BASEDIR/glslang"
- cd $BASEDIR/glslang
+ echo "Updating ${BASEDIR}/glslang"
+ cd "${BASEDIR}"/glslang
git fetch --all
- git checkout --force $GLSLANG_REVISION
+ git checkout --force ${GLSLANG_REVISION}
}
function create_spirv-tools () {
- rm -rf $BASEDIR/spirv-tools
- echo "Creating local spirv-tools repository ($BASEDIR/spirv-tools)."
- mkdir -p $BASEDIR/spirv-tools
- cd $BASEDIR/spirv-tools
+ rm -rf "${BASEDIR}"/spirv-tools
+ echo "Creating local spirv-tools repository (${BASEDIR}/spirv-tools)."
+ mkdir -p "${BASEDIR}"/spirv-tools
+ cd "${BASEDIR}"/spirv-tools
git clone https://github.com/KhronosGroup/SPIRV-Tools.git .
- git checkout $SPIRV_TOOLS_REVISION
- mkdir -p $BASEDIR/spirv-tools/external/spirv-headers
- cd $BASEDIR/spirv-tools/external/spirv-headers
+ git checkout ${SPIRV_TOOLS_REVISION}
+ mkdir -p "${BASEDIR}"/spirv-tools/external/spirv-headers
+ cd "${BASEDIR}"/spirv-tools/external/spirv-headers
git clone https://github.com/KhronosGroup/SPIRV-Headers .
- git checkout $SPIRV_HEADERS_REVISION
+ git checkout ${SPIRV_HEADERS_REVISION}
}
function update_spirv-tools () {
- echo "Updating $BASEDIR/spirv-tools"
- cd $BASEDIR/spirv-tools
+ echo "Updating ${BASEDIR}/spirv-tools"
+ cd "${BASEDIR}"/spirv-tools
git fetch --all
- git checkout $SPIRV_TOOLS_REVISION
- if [ ! -d "$BASEDIR/spirv-tools/external/spirv-headers" -o ! -d "$BASEDIR/spirv-tools/external/spirv-headers/.git" ]; then
- mkdir -p $BASEDIR/spirv-tools/external/spirv-headers
- cd $BASEDIR/spirv-tools/external/spirv-headers
+ git checkout ${SPIRV_TOOLS_REVISION}
+ if [ ! -d "${BASEDIR}/spirv-tools/external/spirv-headers" -o ! -d "${BASEDIR}/spirv-tools/external/spirv-headers/.git" ]; then
+ mkdir -p "${BASEDIR}"/spirv-tools/external/spirv-headers
+ cd "${BASEDIR}"/spirv-tools/external/spirv-headers
git clone https://github.com/KhronosGroup/SPIRV-Headers .
else
- cd $BASEDIR/spirv-tools/external/spirv-headers
+ cd "${BASEDIR}"/spirv-tools/external/spirv-headers
git fetch --all
fi
- git checkout $SPIRV_HEADERS_REVISION
+ git checkout ${SPIRV_HEADERS_REVISION}
}
function build_glslang () {
- echo "Building $BASEDIR/glslang"
- cd $BASEDIR/glslang
+ echo "Building ${BASEDIR}/glslang"
+ cd "${BASEDIR}"/glslang
mkdir -p build
cd build
cmake -D CMAKE_BUILD_TYPE=Release ..
@@ -69,8 +69,8 @@
}
function build_spirv-tools () {
- echo "Building $BASEDIR/spirv-tools"
- cd $BASEDIR/spirv-tools
+ echo "Building ${BASEDIR}/spirv-tools"
+ cd "${BASEDIR}"/spirv-tools
mkdir -p build
cd build
cmake -D CMAKE_BUILD_TYPE=Release ..
@@ -115,8 +115,8 @@
done
fi
-if [ $INCLUDE_GLSLANG == "true" ]; then
- if [ ! -d "$BASEDIR/glslang" -o ! -d "$BASEDIR/glslang/.git" -o -d "$BASEDIR/glslang/.svn" ]; then
+if [ ${INCLUDE_GLSLANG} == "true" ]; then
+ if [ ! -d "${BASEDIR}/glslang" -o ! -d "${BASEDIR}/glslang/.git" -o -d "${BASEDIR}/glslang/.svn" ]; then
create_glslang
fi
update_glslang
@@ -124,8 +124,8 @@
fi
-if [ $INCLUDE_SPIRV_TOOLS == "true" ]; then
- if [ ! -d "$BASEDIR/spirv-tools" -o ! -d "$BASEDIR/spirv-tools/.git" ]; then
+if [ ${INCLUDE_SPIRV_TOOLS} == "true" ]; then
+ if [ ! -d "${BASEDIR}/spirv-tools" -o ! -d "${BASEDIR}/spirv-tools/.git" ]; then
create_spirv-tools
fi
update_spirv-tools