build: gh27 Allow builds in paths with spaces
authorKarl Schultz <karl@lunarg.com>
Wed, 28 Sep 2016 00:38:02 +0000 (18:38 -0600)
committerKarl Schultz <karl@lunarg.com>
Thu, 29 Sep 2016 00:12:19 +0000 (18:12 -0600)
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

layers/CMakeLists.txt
loader/CMakeLists.txt
tests/layers/CMakeLists.txt
update_external_sources.bat
update_external_sources.sh

index a5f38f0..13f9e69 100644 (file)
@@ -76,7 +76,6 @@ if (WIN32)
     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)
index 2758bfc..e0ab383 100644 (file)
@@ -61,7 +61,6 @@ if (WIN32)
     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)
index 2a9087e..c675f1e 100644 (file)
@@ -44,7 +44,6 @@ if (WIN32)
     )
     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)
index 4775af7..65d151f 100644 (file)
@@ -13,7 +13,7 @@ del /Q /F vsversion.tmp
 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
 
index 780d849..6f87903 100755 (executable)
@@ -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_glslang () {
 }
 
 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 @@ else
   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 @@ if [ $INCLUDE_GLSLANG == "true" ]; then
 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