From: Kai Ninomiya Date: Mon, 23 Mar 2020 19:26:53 +0000 (-0700) Subject: Fix build on CMake 2.8, and fix Web build X-Git-Tag: upstream/11.4.0~276^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=16bb8881e69197ac3db5fb21cdf75db12eed383d;p=platform%2Fupstream%2Fglslang.git Fix build on CMake 2.8, and fix Web build And suppress some warnings that are too verbose in Web builds. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index a80cd5f..b4b0fac 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 350b0e8..d4f5e1d 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 25b8b78..240944e 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 015d6d7..697b0b7 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)