@@ -3404,7 +3404,8 @@ igc_sg_define(IGC__Common_CLElfLib)
3404
3404
3405
3405
add_subdirectory (GenISAIntrinsics )
3406
3406
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" )))
3408
3409
set (IGC_BUILD__SPIRV-Tools ON )
3409
3410
endif ()
3410
3411
@@ -3429,10 +3430,8 @@ if(IGC_BUILD__SPIRV-Tools)
3429
3430
message (STATUS "Option SPIRV_SKIP_EXECUTABLES: ${SPIRV_SKIP_EXECUTABLES} " )
3430
3431
message (STATUS "Option SPIRV_HEADERS_SKIP_INSTALL: ${SPIRV_HEADERS_SKIP_INSTALL} " )
3431
3432
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 )
3434
3434
set (IGC_BUILD__PROJ__SPIRV-Tools "SPIRV-Tools" )
3435
- set_property (DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS IGC_BUILD_SPIRV_TOOLS )
3436
3435
unset (IGC_BUILD__SPIRV-Headers_OUTPUT_DIR )
3437
3436
unset (IGC_BUILD__SPIRV-Tools_OUTPUT_DIR )
3438
3437
unset (SPIRV-Headers_SOURCE_DIR )
@@ -3697,53 +3696,55 @@ foreach(_libBuildSuffix ${IGC_BUILD__MAIN_IGC_LIB_SUFFIXES})
3697
3696
endif ()
3698
3697
unset (_targetType )
3699
3698
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 )
3702
3703
3703
3704
# Generated link line for IGC static library allows to properly use it in other projects.
3704
3705
if (_targetIsStatic )
3705
- list (APPEND _targetLinkLine
3706
+ list (APPEND _targetLinkLineCommon
3706
3707
"${IGC_BUILD__PROJ${_libBuildSuffix} }"
3707
3708
)
3708
3709
endif ()
3709
3710
3710
3711
if (LLVM_ON_WIN32 )
3711
- list (APPEND _targetLinkLine
3712
+ list (APPEND _targetLinkLineCommon
3712
3713
"${IGC_BUILD__PROJ__AdaptorOCL} "
3713
3714
)
3714
3715
3715
3716
if (IGC_OPTION__USCLAUNCHER_TOOL )
3716
- list (APPEND _targetLinkLine
3717
+ list (APPEND _targetLinkLineCommon
3717
3718
"${IGC_BUILD__PROJ__ILAdapter} " )
3718
3719
endif ()
3719
3720
3720
3721
endif ()
3721
3722
3722
- list (APPEND _targetLinkLine
3723
+ list (APPEND _targetLinkLineCommon
3723
3724
"${IGC_BUILD__PROJ__AdaptorOGL} "
3724
3725
)
3725
3726
3726
3727
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}"
3729
3730
)
3730
3731
endif ()
3731
3732
3732
3733
if (IGC_BUILD__VULKAN_FRONTEND_ENABLED )
3733
- list (APPEND _targetLinkLine
3734
+ list (APPEND _targetLinkLineCommon
3734
3735
"${IGC_BUILD__PROJ__VulkanFrontend} "
3735
3736
)
3736
3737
endif ()
3737
3738
3738
3739
3739
- list (APPEND _targetLinkLine
3740
+ list (APPEND _targetLinkLineCommon
3740
3741
"${IGC_BUILD__PROJ__Compiler} "
3741
3742
"${IGC_BUILD__PROJ__GenISAIntrinsics} "
3742
3743
GenX_IR
3743
3744
)
3744
3745
3745
3746
if (LLVM_ON_UNIX AND IGC_OPTION__BIF_LINK_BC )
3746
- list (APPEND _targetLinkLine
3747
+ list (APPEND _targetLinkLineCommon
3747
3748
"${IGC_BUILD__WHOLE_ARCHIVE} "
3748
3749
"${IGC_BUILD__PROJ__BiFLib_OCL} "
3749
3750
"${IGC_BUILD__NO_WHOLE_ARCHIVE} "
@@ -3752,25 +3753,30 @@ foreach(_libBuildSuffix ${IGC_BUILD__MAIN_IGC_LIB_SUFFIXES})
3752
3753
3753
3754
# Generated link line for IGC static library allows to properly use it in other projects.
3754
3755
if (_targetIsStatic )
3755
- list (APPEND _targetLinkLine
3756
+ list (APPEND _targetLinkLineCommon
3756
3757
"${IGC_BUILD__PROJ${_libBuildSuffix} }"
3757
3758
)
3758
3759
endif ()
3759
3760
3760
- list (APPEND _targetLinkLine
3761
+ list (APPEND _targetLinkLineCommon
3761
3762
"${IGC_BUILD__START_GROUP} "
3762
3763
${IGC_BUILD__LLVM_LIBS_TO_LINK}
3763
3764
"${IGC_BUILD__END_GROUP} "
3764
3765
)
3765
3766
3766
3767
if (_targetIsStatic )
3767
3768
# 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}
3770
3775
)
3771
3776
else ()
3772
3777
target_link_libraries ("${IGC_BUILD__PROJ${_libBuildSuffix} }" PRIVATE
3773
- ${_targetLinkLine}
3778
+ ${_targetLinkLineCommon}
3779
+ $< $< NOT:$< CONFIG:Release> > :${_targetLinkLineDebugAndReleaseInternalOnly} >
3774
3780
${CMAKE_DL_LIBS}
3775
3781
)
3776
3782
# 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})
3781
3787
endif ()
3782
3788
endforeach ()
3783
3789
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
+
3784
3795
#FCL
3785
3796
get_property (_targetType TARGET "${IGC_BUILD__PROJ__fcl_dll} " PROPERTY TYPE )
3786
3797
if (_targetType MATCHES "^STATIC_LIBRARY$" )
0 commit comments