mirror of
				https://github.com/RetroDECK/Duckstation.git
				synced 2025-04-10 19:15:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			147 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/CMakeLists.txt
 | |
| +++ b/CMakeLists.txt
 | |
| @@ -117,6 +117,9 @@ if(MSVC)
 | |
|    endif()
 | |
|  endif(MSVC)
 | |
|  
 | |
| +if(NOT WIN32)
 | |
| +  add_definitions("-fvisibility=hidden")
 | |
| +endif()
 | |
|  
 | |
|  # Configure subdirectories.
 | |
|  # We depend on these for later projects, so they should come first.
 | |
| @@ -124,7 +127,6 @@ add_subdirectory(third_party)
 | |
|  
 | |
|  add_subdirectory(libshaderc_util)
 | |
|  add_subdirectory(libshaderc)
 | |
| -add_subdirectory(glslc)
 | |
|  if(${SHADERC_ENABLE_EXAMPLES})
 | |
|      add_subdirectory(examples)
 | |
|  endif()
 | |
| @@ -158,5 +160,3 @@ function(define_pkg_config_file NAME LIBS)
 | |
|  endfunction()
 | |
|  
 | |
|  define_pkg_config_file(shaderc -lshaderc_shared)
 | |
| -define_pkg_config_file(shaderc_static "-lshaderc ${EXTRA_STATIC_PKGCONFIG_LIBS} -lshaderc_util")
 | |
| -define_pkg_config_file(shaderc_combined -lshaderc_combined)
 | |
| --- a/libshaderc/CMakeLists.txt
 | |
| +++ b/libshaderc/CMakeLists.txt
 | |
| @@ -24,13 +24,6 @@ set(SHADERC_SOURCES
 | |
|    src/shaderc_private.h
 | |
|  )
 | |
|  
 | |
| -add_library(shaderc STATIC ${SHADERC_SOURCES})
 | |
| -shaderc_default_compile_options(shaderc)
 | |
| -target_include_directories(shaderc
 | |
| -    PUBLIC include
 | |
| -    PRIVATE ${glslang_SOURCE_DIR}
 | |
| -            ${SPIRV-Headers_SOURCE_DIR}/include)
 | |
| -
 | |
|  add_library(shaderc_shared SHARED ${SHADERC_SOURCES})
 | |
|  shaderc_default_compile_options(shaderc_shared)
 | |
|  target_include_directories(shaderc_shared
 | |
| @@ -54,7 +47,7 @@ if(SHADERC_ENABLE_INSTALL)
 | |
|      DESTINATION
 | |
|        ${CMAKE_INSTALL_INCLUDEDIR}/shaderc)
 | |
|  
 | |
| -  install(TARGETS shaderc shaderc_shared
 | |
| +  install(TARGETS shaderc_shared
 | |
|      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
 | |
|      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
 | |
|      BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR}
 | |
| @@ -69,20 +62,8 @@ set(SHADERC_LIBS
 | |
|    SPIRV-Tools
 | |
|  )
 | |
|  
 | |
| -target_link_libraries(shaderc PRIVATE ${SHADERC_LIBS})
 | |
|  target_link_libraries(shaderc_shared PRIVATE ${SHADERC_LIBS})
 | |
|  
 | |
| -shaderc_add_tests(
 | |
| -  TEST_PREFIX shaderc
 | |
| -  LINK_LIBS shaderc
 | |
| -  INCLUDE_DIRS include ${shaderc_SOURCE_DIR}/libshaderc_util/include ${glslang_SOURCE_DIR}
 | |
| -               ${spirv-tools_SOURCE_DIR}/include
 | |
| -               ${SPIRV-Headers_SOURCE_DIR}/include
 | |
| -  TEST_NAMES
 | |
| -    shaderc
 | |
| -    shaderc_cpp
 | |
| -    shaderc_private)
 | |
| -
 | |
|  shaderc_add_tests(
 | |
|    TEST_PREFIX shaderc_shared
 | |
|    LINK_LIBS shaderc_shared SPIRV-Tools
 | |
| @@ -94,22 +75,6 @@ shaderc_add_tests(
 | |
|      shaderc_cpp
 | |
|      shaderc_private)
 | |
|  
 | |
| -shaderc_combine_static_lib(shaderc_combined shaderc)
 | |
| -
 | |
| -if(SHADERC_ENABLE_INSTALL)
 | |
| -  install(TARGETS shaderc_combined DESTINATION ${CMAKE_INSTALL_LIBDIR})
 | |
| -endif(SHADERC_ENABLE_INSTALL)
 | |
| -
 | |
| -shaderc_add_tests(
 | |
| -  TEST_PREFIX shaderc_combined
 | |
| -  LINK_LIBS shaderc_combined ${CMAKE_THREAD_LIBS_INIT}
 | |
| -  INCLUDE_DIRS include ${shaderc_SOURCE_DIR}/libshaderc_util/include ${glslang_SOURCE_DIR}
 | |
| -               ${spirv-tools_SOURCE_DIR}/include
 | |
| -               ${SPIRV-Headers_SOURCE_DIR}/include
 | |
| -  TEST_NAMES
 | |
| -    shaderc
 | |
| -    shaderc_cpp)
 | |
| -
 | |
|  if(${SHADERC_ENABLE_TESTS})
 | |
|    add_executable(shaderc_c_smoke_test ./src/shaderc_c_smoke_test.c)
 | |
|    shaderc_default_c_compile_options(shaderc_c_smoke_test)
 | |
| diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc
 | |
| index e5f5d10..f4f0fef 100644
 | |
| --- a/libshaderc_util/src/compiler.cc
 | |
| +++ b/libshaderc_util/src/compiler.cc
 | |
| @@ -341,6 +341,10 @@ std::tuple<bool, std::vector<uint32_t>, size_t> Compiler::Compile(
 | |
|    options.generateDebugInfo = generate_debug_info_;
 | |
|    options.disableOptimizer = true;
 | |
|    options.optimizeSize = false;
 | |
| +  if (generate_debug_info_) {
 | |
| +    options.emitNonSemanticShaderDebugInfo = true;
 | |
| +    options.emitNonSemanticShaderDebugSource = true;
 | |
| +  }
 | |
|    // Note the call to GlslangToSpv also populates compilation_output_data.
 | |
|    glslang::GlslangToSpv(*program.getIntermediate(used_shader_stage), spirv,
 | |
|                          &options);
 | |
| --- a/third_party/CMakeLists.txt
 | |
| +++ b/third_party/CMakeLists.txt
 | |
| @@ -20,9 +20,9 @@ set(SHADERC_TINT_DIR "${SHADERC_THIRD_PARTY_ROOT_DIR}/tint" CACHE STRING
 | |
|  set(SHADERC_ABSL_DIR "${SHADERC_THIRD_PARTY_ROOT_DIR}/abseil_cpp" CACHE STRING
 | |
|    "Location of re2 source")
 | |
| 
 | |
| -set( SKIP_GLSLANG_INSTALL ${SHADERC_SKIP_INSTALL} )
 | |
| -set( SKIP_SPIRV_TOOLS_INSTALL ${SHADERC_SKIP_INSTALL} )
 | |
| -set( SKIP_GOOGLETEST_INSTALL ${SHADERC_SKIP_INSTALL} )
 | |
| +set( SKIP_GLSLANG_INSTALL ON )
 | |
| +set( SKIP_SPIRV_TOOLS_INSTALL ON )
 | |
| +set( SKIP_GOOGLETEST_INSTALL ON )
 | |
| 
 | |
|  # Configure third party projects.
 | |
|  if(${SHADERC_ENABLE_TESTS})
 | |
| @@ -64,7 +64,10 @@ if (NOT TARGET SPIRV-Tools)
 | |
|        add_subdirectory(${SHADERC_RE2_DIR} re2)
 | |
|        add_subdirectory(${SHADERC_EFFCEE_DIR} effcee)
 | |
|      endif()
 | |
| -    add_subdirectory(${SHADERC_SPIRV_TOOLS_DIR} spirv-tools)
 | |
| +    set(SPIRV_SKIP_EXECUTABLES ON CACHE BOOL "Skip building SPIRV-Tools executables")
 | |
| +    set(SPIRV_TOOLS_BUILD_STATIC OFF CACHE BOOL "Skip building two SPIRV-Tools libs")
 | |
| +    set(SPIRV_TOOLS_LIBRARY_TYPE STATIC CACHE STRING "Build static SPIRV-Tools libs")
 | |
| +    add_subdirectory(${SHADERC_SPIRV_TOOLS_DIR} spirv-tools EXCLUDE_FROM_ALL)
 | |
|      if (NOT "${SPIRV_SKIP_TESTS}")
 | |
|        if (MSVC)
 | |
|          if (${MSVC_VERSION} LESS 1920)
 | |
| @@ -83,7 +86,7 @@ endif()
 | |
| 
 | |
|  if (NOT TARGET glslang)
 | |
|    if (IS_DIRECTORY ${SHADERC_GLSLANG_DIR})
 | |
| -    add_subdirectory(${SHADERC_GLSLANG_DIR} glslang)
 | |
| +    add_subdirectory(${SHADERC_GLSLANG_DIR} glslang EXCLUDE_FROM_ALL)
 | |
|    endif()
 | |
|    if (NOT TARGET glslang)
 | |
|      message(FATAL_ERROR "glslang was not found - required for compilation")
 | 
