|
@@ -47,9 +47,12 @@ endif()
|
|
|
################################################################################
|
|
|
# GenericCodeGen
|
|
|
################################################################################
|
|
|
-add_library(GenericCodeGen STATIC
|
|
|
+set(GENERICCODEGEN_SOURCES
|
|
|
GenericCodeGen/CodeGen.cpp
|
|
|
GenericCodeGen/Link.cpp)
|
|
|
+
|
|
|
+add_library(GenericCodeGen STATIC
|
|
|
+ stub.cpp)
|
|
|
set_property(TARGET GenericCodeGen PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
|
set_property(TARGET GenericCodeGen PROPERTY FOLDER glslang)
|
|
|
|
|
@@ -130,7 +133,7 @@ if(ENABLE_HLSL)
|
|
|
HLSL/hlslParseables.h)
|
|
|
endif()
|
|
|
|
|
|
-add_library(MachineIndependent STATIC ${MACHINEINDEPENDENT_SOURCES} ${MACHINEINDEPENDENT_HEADERS})
|
|
|
+add_library(MachineIndependent STATIC stub.cpp)
|
|
|
set_property(TARGET MachineIndependent PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
|
set_property(TARGET MachineIndependent PROPERTY FOLDER glslang)
|
|
|
|
|
@@ -139,12 +142,6 @@ if (NOT MSVC)
|
|
|
set_source_files_properties(MachineIndependent/glslang_tab.cpp PROPERTIES COMPILE_FLAGS -Wno-unused-but-set-variable)
|
|
|
endif()
|
|
|
|
|
|
-glslang_add_build_info_dependency(MachineIndependent)
|
|
|
-
|
|
|
-glslang_pch(MachineIndependent MachineIndependent/pch.h)
|
|
|
-
|
|
|
-target_link_libraries(MachineIndependent PRIVATE OSDependent GenericCodeGen)
|
|
|
-
|
|
|
################################################################################
|
|
|
# glslang
|
|
|
################################################################################
|
|
@@ -168,26 +165,42 @@ set(GLSLANG_HEADERS
|
|
|
Include/SpirvIntrinsics.h
|
|
|
Include/Types.h)
|
|
|
|
|
|
-add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS})
|
|
|
+add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS} ${GENERICCODEGEN_SOURCES} ${GENERICCODEGEN_HEADERS} ${OSDEPENDENT_SOURCES} ${OSDEPENDENT_HEADERS} ${MACHINEINDEPENDENT_SOURCES} ${MACHINEINDEPENDENT_HEADERS} ${SPIRV_SOURCES} ${SPIRV_HEADERS})
|
|
|
add_library(glslang::glslang ALIAS glslang)
|
|
|
set_target_properties(glslang PROPERTIES
|
|
|
FOLDER glslang
|
|
|
POSITION_INDEPENDENT_CODE ON
|
|
|
VERSION "${GLSLANG_VERSION}"
|
|
|
SOVERSION "${GLSLANG_VERSION_MAJOR}")
|
|
|
-target_link_libraries(glslang PRIVATE OSDependent MachineIndependent)
|
|
|
target_include_directories(glslang PUBLIC
|
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
|
|
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
|
|
|
|
|
glslang_add_build_info_dependency(glslang)
|
|
|
|
|
|
+glslang_pch(glslang MachineIndependent/pch.h)
|
|
|
+
|
|
|
glslang_only_export_explicit_symbols(glslang)
|
|
|
|
|
|
if(WIN32 AND BUILD_SHARED_LIBS)
|
|
|
set_target_properties(glslang PROPERTIES PREFIX "")
|
|
|
endif()
|
|
|
|
|
|
+if(ENABLE_SPIRV)
|
|
|
+ if(ENABLE_OPT)
|
|
|
+ target_include_directories(glslang PUBLIC
|
|
|
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../External>)
|
|
|
+ target_link_libraries(glslang SPIRV-Tools-opt)
|
|
|
+ endif()
|
|
|
+endif()
|
|
|
+
|
|
|
+# Link pthread
|
|
|
+if(UNIX OR "${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia" OR ANDROID)
|
|
|
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
|
+ find_package(Threads REQUIRED)
|
|
|
+ target_link_libraries(glslang Threads::Threads)
|
|
|
+endif()
|
|
|
+
|
|
|
################################################################################
|
|
|
# ResourceLimits
|
|
|
################################################################################
|
|
@@ -217,6 +230,8 @@ target_include_directories(glslang-default-resource-limits PUBLIC
|
|
|
# source_groups
|
|
|
################################################################################
|
|
|
if(WIN32)
|
|
|
+ source_group("OSDependent" REGULAR_EXPRESSION "OSDependent/[^/]*")
|
|
|
+ source_group("OSDependent\\Windows" REGULAR_EXPRESSION "OSDependent/Windows/*")
|
|
|
source_group("Public" REGULAR_EXPRESSION "Public/*")
|
|
|
source_group("MachineIndependent" REGULAR_EXPRESSION "MachineIndependent/[^/]*")
|
|
|
source_group("Include" REGULAR_EXPRESSION "Include/[^/]*")
|
|
@@ -224,6 +239,8 @@ if(WIN32)
|
|
|
source_group("MachineIndependent\\Preprocessor" REGULAR_EXPRESSION "MachineIndependent/preprocessor/*")
|
|
|
source_group("HLSL" REGULAR_EXPRESSION "HLSL/*")
|
|
|
source_group("CInterface" REGULAR_EXPRESSION "CInterface/*")
|
|
|
+ source_group("SPIRV" REGULAR_EXPRESSION "SPIRV/[^/]*")
|
|
|
+ source_group("SPIRV\\CInterface" REGULAR_EXPRESSION "SPIRV/CInterface/*")
|
|
|
endif()
|
|
|
|
|
|
################################################################################
|