diff --git a/CMakeLists.txt b/CMakeLists.txt index a80cd5f92..b4b0fac49 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -142,7 +142,10 @@ if(ENABLE_GLSLANG_JS) add_compile_options(/Os /GR-) else() add_compile_options(-Os -fno-exceptions) - add_link_options(-Os) + if(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") + add_compile_options(-Wno-unused-parameter) + add_compile_options(-Wno-unused-variable -Wno-unused-const-variable) + endif() endif() endif(ENABLE_GLSLANG_JS) @@ -150,7 +153,7 @@ endif(ENABLE_GLSLANG_JS) if(${CMAKE_VERSION} VERSION_LESS 3.1) # CMake versions before 3.1 do not understand CMAKE_CXX_STANDARD # remove this block once CMake >=3.1 has fixated in the ecosystem - add_compile_options(-std=c++11) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") else() set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h index 350b0e89d..d4f5e1de6 100644 --- a/glslang/Include/Types.h +++ b/glslang/Include/Types.h @@ -945,7 +945,7 @@ public: bool hasAttachment() const { return false; } TLayoutFormat getFormat() const { return ElfNone; } bool isPushConstant() const { return false; } - bool isShaderRecordNV() const { return false; } + bool isShaderRecord() const { return false; } bool hasBufferReference() const { return false; } bool hasBufferReferenceAlign() const { return false; } bool isNonUniform() const { return false; } diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index 25b8b78a8..240944eff 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -503,7 +503,7 @@ public: bool getAutoMapBindings() const { return false; } bool getAutoMapLocations() const { return false; } int getNumPushConstants() const { return 0; } - void addShaderRecordNVCount() { } + void addShaderRecordCount() { } void addTaskNVCount() { } void setUseVulkanMemoryModel() { } bool usingVulkanMemoryModel() const { return false; } diff --git a/glslang/OSDependent/Web/CMakeLists.txt b/glslang/OSDependent/Web/CMakeLists.txt index 015d6d778..697b0b75f 100644 --- a/glslang/OSDependent/Web/CMakeLists.txt +++ b/glslang/OSDependent/Web/CMakeLists.txt @@ -3,27 +3,31 @@ if(ENABLE_GLSLANG_JS) glslang_set_link_args(glslang.js) target_link_libraries(glslang.js glslang SPIRV) + # Link library names that start with "-" are treated as link flags. + # "-Os" should be OK in MSVC; don't use /Os because CMake won't + # treat it as a link flag. + target_link_libraries(glslang.js "-Os") + if(EMSCRIPTEN) set_target_properties(glslang.js PROPERTIES OUTPUT_NAME "glslang" SUFFIX ".js") em_link_pre_js(glslang.js "${CMAKE_CURRENT_SOURCE_DIR}/glslang.pre.js") - target_link_options(glslang.js PRIVATE "SHELL: -Os") - target_link_options(glslang.js PRIVATE "SHELL: --llvm-lto 1") - target_link_options(glslang.js PRIVATE "SHELL: --closure 1") - target_link_options(glslang.js PRIVATE "SHELL: -s MODULARIZE=1") - target_link_options(glslang.js PRIVATE "SHELL: -s ALLOW_MEMORY_GROWTH=1") - target_link_options(glslang.js PRIVATE "SHELL: -s FILESYSTEM=0") + target_link_libraries(glslang.js "--llvm-lto 1") + target_link_libraries(glslang.js "--closure 1") + target_link_libraries(glslang.js "-s MODULARIZE=1") + target_link_libraries(glslang.js "-s ALLOW_MEMORY_GROWTH=1") + target_link_libraries(glslang.js "-s FILESYSTEM=0") if(ENABLE_EMSCRIPTEN_SINGLE_FILE) - target_link_options(glslang.js PRIVATE "SHELL: -s SINGLE_FILE=1") + target_link_libraries(glslang.js "-s SINGLE_FILE=1") endif(ENABLE_EMSCRIPTEN_SINGLE_FILE) if(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE) - target_link_options(glslang.js PRIVATE "SHELL: -s ENVIRONMENT=node -s BINARYEN_ASYNC_COMPILATION=0") + target_link_libraries(glslang.js "-s ENVIRONMENT=node -s BINARYEN_ASYNC_COMPILATION=0") else() - target_link_options(glslang.js PRIVATE "SHELL: -s ENVIRONMENT=web,worker") + target_link_libraries(glslang.js "-s ENVIRONMENT=web,worker") endif() if(NOT ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE)