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)
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)
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; }
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; }
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)