@@ -3404,7 +3404,8 @@ igc_sg_define(IGC__Common_CLElfLib)
34043404
34053405add_subdirectory (GenISAIntrinsics)
34063406
3407- if (LLVM_ON_WIN32 AND (("${BUILD_TYPE} " STREQUAL "debug" ) OR ("${BUILD_TYPE} " STREQUAL "release-internal" )))
3407+ # SPIRV-Tools are only inlcuded in Windows Debug and ReleaseInternal builds.
3408+ if (LLVM_ON_WIN32 AND (CMAKE_CONFIGURATION_TYPES OR ("${CMAKE_BUILD_TYPE} " STREQUAL "Debug" ) OR ("${CMAKE_BUILD_TYPE} " STREQUAL "ReleaseInternal" )))
34083409 set (IGC_BUILD__SPIRV-Tools ON )
34093410endif ()
34103411
@@ -3429,10 +3430,8 @@ if(IGC_BUILD__SPIRV-Tools)
34293430 message (STATUS "Option SPIRV_SKIP_EXECUTABLES: ${SPIRV_SKIP_EXECUTABLES} " )
34303431 message (STATUS "Option SPIRV_HEADERS_SKIP_INSTALL: ${SPIRV_HEADERS_SKIP_INSTALL} " )
34313432 message (STATUS "Option SPIRV_HEADERS_SKIP_EXAMPLES: ${SPIRV_HEADERS_SKIP_EXAMPLES} " )
3432- # add_subdirectory("${IGC_BUILD__SPIRV-Headers_DIR}" "${IGC_BUILD__SPIRV-Headers_OUTPUT_DIR}")
3433- add_subdirectory ("${IGC_BUILD__SPIRV-Tools_DIR}" "${IGC_BUILD__SPIRV-Tools_OUTPUT_DIR}" )
3433+ add_subdirectory ("${IGC_BUILD__SPIRV-Tools_DIR}" "${IGC_BUILD__SPIRV-Tools_OUTPUT_DIR}" EXCLUDE_FROM_ALL )
34343434 set (IGC_BUILD__PROJ__SPIRV-Tools "SPIRV-Tools" )
3435- set_property (DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS IGC_BUILD_SPIRV_TOOLS)
34363435 unset (IGC_BUILD__SPIRV-Headers_OUTPUT_DIR)
34373436 unset (IGC_BUILD__SPIRV-Tools_OUTPUT_DIR)
34383437 unset (SPIRV-Headers_SOURCE_DIR)
@@ -3697,53 +3696,55 @@ foreach(_libBuildSuffix ${IGC_BUILD__MAIN_IGC_LIB_SUFFIXES})
36973696 endif ()
36983697 unset (_targetType)
36993698
3700-
3701- set (_targetLinkLine)
3699+ # list of libraries linked in all configurations
3700+ set (_targetLinkLineCommon)
3701+ # list of libraries additionally linked in Debug and ReleaseInternal configurations
3702+ set (_targetLinkLineDebugAndReleaseInternalOnly)
37023703
37033704 # Generated link line for IGC static library allows to properly use it in other projects.
37043705 if (_targetIsStatic)
3705- list (APPEND _targetLinkLine
3706+ list (APPEND _targetLinkLineCommon
37063707 "${IGC_BUILD__PROJ${_libBuildSuffix} }"
37073708 )
37083709 endif ()
37093710
37103711 if (LLVM_ON_WIN32)
3711- list (APPEND _targetLinkLine
3712+ list (APPEND _targetLinkLineCommon
37123713 "${IGC_BUILD__PROJ__AdaptorOCL} "
37133714 )
37143715
37153716 if (IGC_OPTION__USCLAUNCHER_TOOL)
3716- list (APPEND _targetLinkLine
3717+ list (APPEND _targetLinkLineCommon
37173718 "${IGC_BUILD__PROJ__ILAdapter} " )
37183719 endif ()
37193720
37203721 endif ()
37213722
3722- list (APPEND _targetLinkLine
3723+ list (APPEND _targetLinkLineCommon
37233724 "${IGC_BUILD__PROJ__AdaptorOGL} "
37243725 )
37253726
37263727 if (IGC_BUILD__SPIRV-Tools)
3727- list (APPEND _targetLinkLine
3728- "${IGC_BUILD__PROJ__SPIRV-Tools}"
3728+ list (APPEND _targetLinkLineDebugAndReleaseInternalOnly
3729+ "${IGC_BUILD__PROJ__SPIRV-Tools}"
37293730 )
37303731 endif ()
37313732
37323733 if (IGC_BUILD__VULKAN_FRONTEND_ENABLED)
3733- list (APPEND _targetLinkLine
3734+ list (APPEND _targetLinkLineCommon
37343735 "${IGC_BUILD__PROJ__VulkanFrontend} "
37353736 )
37363737 endif ()
37373738
37383739
3739- list (APPEND _targetLinkLine
3740+ list (APPEND _targetLinkLineCommon
37403741 "${IGC_BUILD__PROJ__Compiler} "
37413742 "${IGC_BUILD__PROJ__GenISAIntrinsics} "
37423743 GenX_IR
37433744 )
37443745
37453746 if (LLVM_ON_UNIX AND IGC_OPTION__BIF_LINK_BC)
3746- list (APPEND _targetLinkLine
3747+ list (APPEND _targetLinkLineCommon
37473748 "${IGC_BUILD__WHOLE_ARCHIVE} "
37483749 "${IGC_BUILD__PROJ__BiFLib_OCL} "
37493750 "${IGC_BUILD__NO_WHOLE_ARCHIVE} "
@@ -3752,25 +3753,30 @@ foreach(_libBuildSuffix ${IGC_BUILD__MAIN_IGC_LIB_SUFFIXES})
37523753
37533754 # Generated link line for IGC static library allows to properly use it in other projects.
37543755 if (_targetIsStatic)
3755- list (APPEND _targetLinkLine
3756+ list (APPEND _targetLinkLineCommon
37563757 "${IGC_BUILD__PROJ${_libBuildSuffix} }"
37573758 )
37583759 endif ()
37593760
3760- list (APPEND _targetLinkLine
3761+ list (APPEND _targetLinkLineCommon
37613762 "${IGC_BUILD__START_GROUP} "
37623763 ${IGC_BUILD__LLVM_LIBS_TO_LINK}
37633764 "${IGC_BUILD__END_GROUP} "
37643765 )
37653766
37663767 if (_targetIsStatic)
37673768 # Link line for projects that use IGC as static library (allows to resolve multi-circular dependencies between libraries).
3768- set ("IGC_BUILD__LINK_LINE${_libBuildSuffix} "
3769- ${_targetLinkLine}
3769+ set ("IGC_BUILD__LINK_LINE_RELEASE${_libBuildSuffix} "
3770+ ${_targetLinkLineCommon}
3771+ )
3772+ set ("IGC_BUILD__LINK_LINE_RELEASEINTERNAL_AND_DEBUG${_libBuildSuffix} "
3773+ ${_targetLinkLineCommon}
3774+ ${_targetLinkLineDebugAndReleaseInternalOnly}
37703775 )
37713776 else ()
37723777 target_link_libraries ("${IGC_BUILD__PROJ${_libBuildSuffix} }" PRIVATE
3773- ${_targetLinkLine}
3778+ ${_targetLinkLineCommon}
3779+ $<$<NOT :$<CONFIG:Release>>:${_targetLinkLineDebugAndReleaseInternalOnly} >
37743780 ${CMAKE_DL_LIBS}
37753781 )
37763782 # Link line for shared / dynamic library requires only library project (all static libs are linked inside).
@@ -3781,6 +3787,11 @@ foreach(_libBuildSuffix ${IGC_BUILD__MAIN_IGC_LIB_SUFFIXES})
37813787 endif ()
37823788endforeach ()
37833789
3790+ if (IGC_BUILD__SPIRV-Tools)
3791+ # Build only in Debug and ReleaseInternal
3792+ set_property (TARGET ${IGC_BUILD__PROJ__SPIRV-Tools} PROPERTY EXCLUDE_FROM_DEFAULT_BUILD_RELEASE TRUE )
3793+ endif ()
3794+
37843795#FCL
37853796 get_property (_targetType TARGET "${IGC_BUILD__PROJ__fcl_dll} " PROPERTY TYPE )
37863797 if (_targetType MATCHES "^STATIC_LIBRARY$" )
0 commit comments