@@ -675,10 +675,7 @@ endfunction()
675
675
# target
676
676
# [SHARED]
677
677
# [STATIC]
678
- # [SDK sdk]
679
- # [ARCHITECTURE architecture]
680
678
# [LLVM_LINK_COMPONENTS comp1 ...]
681
- # INSTALL_IN_COMPONENT comp
682
679
# source1 [source2 source3 ...])
683
680
#
684
681
# target
@@ -690,28 +687,16 @@ endfunction()
690
687
# STATIC
691
688
# Build a static library.
692
689
#
693
- # SDK sdk
694
- # SDK to build for.
695
- #
696
- # ARCHITECTURE
697
- # Architecture to build for.
698
- #
699
690
# LLVM_LINK_COMPONENTS
700
691
# LLVM components this library depends on.
701
692
#
702
- # INSTALL_IN_COMPONENT comp
703
- # The Swift installation component that this library belongs to.
704
- #
705
693
# source1 ...
706
694
# Sources to add into this library
707
695
function (_add_swift_host_library_single target )
708
696
set (SWIFTLIB_SINGLE_options
709
697
SHARED
710
698
STATIC )
711
- set (SWIFTLIB_SINGLE_single_parameter_options
712
- ARCHITECTURE
713
- INSTALL_IN_COMPONENT
714
- SDK )
699
+ set (SWIFTLIB_SINGLE_single_parameter_options )
715
700
set (SWIFTLIB_SINGLE_multiple_parameter_options
716
701
GYB_SOURCES
717
702
LLVM_LINK_COMPONENTS )
@@ -726,23 +711,18 @@ function(_add_swift_host_library_single target)
726
711
727
712
translate_flags (SWIFTLIB_SINGLE "${SWIFTLIB_SINGLE_options} " )
728
713
729
- # Check arguments.
730
- precondition (SWIFTLIB_SINGLE_SDK MESSAGE "Should specify an SDK" )
731
- precondition (SWIFTLIB_SINGLE_ARCHITECTURE MESSAGE "Should specify an architecture" )
732
- precondition (SWIFTLIB_SINGLE_INSTALL_IN_COMPONENT MESSAGE "INSTALL_IN_COMPONENT is required" )
733
-
734
714
if (NOT SWIFTLIB_SINGLE_SHARED AND NOT SWIFTLIB_SINGLE_STATIC )
735
715
message (FATAL_ERROR "Either SHARED or STATIC must be specified" )
736
716
endif ()
737
717
738
718
# Determine the subdirectory where this library will be installed.
739
719
set (SWIFTLIB_SINGLE_SUBDIR
740
- "${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK } _LIB_SUBDIR}/${SWIFTLIB_SINGLE_ARCHITECTURE } " )
720
+ "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK } _LIB_SUBDIR}/${SWIFT_HOST_VARIANT_ARCH } " )
741
721
742
722
# Include LLVM Bitcode slices for iOS, Watch OS, and Apple TV OS device libraries.
743
723
set (embed_bitcode_arg )
744
724
if (SWIFT_EMBED_BITCODE_SECTION )
745
- if ("${SWIFTLIB_SINGLE_SDK } " STREQUAL "IOS" OR "${SWIFTLIB_SINGLE_SDK } " STREQUAL "TVOS" OR "${SWIFTLIB_SINGLE_SDK } " STREQUAL "WATCHOS" )
725
+ if ("${SWIFT_HOST_VARIANT_SDK } " STREQUAL "IOS" OR "${SWIFT_HOST_VARIANT_SDK } " STREQUAL "TVOS" OR "${SWIFT_HOST_VARIANT_SDK } " STREQUAL "WATCHOS" )
746
726
list (APPEND SWIFTLIB_SINGLE_C_COMPILE_FLAGS "-fembed-bitcode" )
747
727
set (embed_bitcode_arg EMBED_BITCODE )
748
728
endif ()
@@ -777,24 +757,24 @@ function(_add_swift_host_library_single target)
777
757
handle_gyb_sources (
778
758
gyb_dependency_targets
779
759
SWIFTLIB_SINGLE_GYB_SOURCES
780
- "${SWIFTLIB_SINGLE_ARCHITECTURE } " )
760
+ "${SWIFT_HOST_VARIANT_ARCH } " )
781
761
set (SWIFTLIB_SINGLE_SOURCES ${SWIFTLIB_SINGLE_SOURCES}
782
762
${SWIFTLIB_SINGLE_GYB_SOURCES} )
783
763
endif ()
784
764
785
765
add_library ("${target} " ${libkind}
786
766
${SWIFTLIB_SINGLE_SOURCES} )
787
- _set_target_prefix_and_suffix ("${target} " "${libkind} " "${SWIFTLIB_SINGLE_SDK } " )
767
+ _set_target_prefix_and_suffix ("${target} " "${libkind} " "${SWIFT_HOST_VARIANT_SDK } " )
788
768
789
- if ("${SWIFTLIB_SINGLE_SDK } " STREQUAL "WINDOWS" )
790
- swift_windows_include_for_arch (${SWIFTLIB_SINGLE_ARCHITECTURE } SWIFTLIB_INCLUDE )
769
+ if ("${SWIFT_HOST_VARIANT_SDK } " STREQUAL "WINDOWS" )
770
+ swift_windows_include_for_arch (${SWIFT_HOST_VARIANT_ARCH } SWIFTLIB_INCLUDE )
791
771
target_include_directories ("${target} " SYSTEM PRIVATE ${SWIFTLIB_INCLUDE} )
792
772
set_target_properties (${target}
793
773
PROPERTIES
794
774
CXX_STANDARD 14 )
795
775
endif ()
796
776
797
- if ("${SWIFTLIB_SINGLE_SDK } " STREQUAL "WINDOWS" AND NOT "${CMAKE_SYSTEM_NAME} " STREQUAL "Windows" )
777
+ if ("${SWIFT_HOST_VARIANT_SDK } " STREQUAL "WINDOWS" AND NOT "${CMAKE_SYSTEM_NAME} " STREQUAL "Windows" )
798
778
if ("${libkind} " STREQUAL "SHARED" )
799
779
# Each dll has an associated .lib (import library); since we may be
800
780
# building on a non-DLL platform (not windows), create an imported target
@@ -816,19 +796,19 @@ function(_add_swift_host_library_single target)
816
796
BINARY_DIR ${SWIFT_RUNTIME_OUTPUT_INTDIR}
817
797
LIBRARY_DIR ${SWIFT_LIBRARY_OUTPUT_INTDIR} )
818
798
819
- if (SWIFTLIB_SINGLE_SDK IN_LIST SWIFT_APPLE_PLATFORMS )
799
+ if (SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_APPLE_PLATFORMS )
820
800
set_target_properties ("${target} "
821
801
PROPERTIES
822
802
INSTALL_NAME_DIR "@rpath" )
823
- elseif ("${SWIFTLIB_SINGLE_SDK } " STREQUAL "LINUX" )
803
+ elseif ("${SWIFT_HOST_VARIANT_SDK } " STREQUAL "LINUX" )
824
804
set_target_properties ("${target} "
825
805
PROPERTIES
826
806
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/linux" )
827
- elseif ("${SWIFTLIB_SINGLE_SDK } " STREQUAL "CYGWIN" )
807
+ elseif ("${SWIFT_HOST_VARIANT_SDK } " STREQUAL "CYGWIN" )
828
808
set_target_properties ("${target} "
829
809
PROPERTIES
830
810
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/cygwin" )
831
- elseif ("${SWIFTLIB_SINGLE_SDK } " STREQUAL "ANDROID" )
811
+ elseif ("${SWIFT_HOST_VARIANT_SDK } " STREQUAL "ANDROID" )
832
812
# Only set the install RPATH if cross-compiling the host tools, in which
833
813
# case both the NDK and Sysroot paths must be set.
834
814
if (NOT "${SWIFT_ANDROID_NDK_PATH} " STREQUAL "" AND
@@ -857,11 +837,11 @@ function(_add_swift_host_library_single target)
857
837
set (c_compile_flags ${SWIFTLIB_SINGLE_C_COMPILE_FLAGS} )
858
838
set (link_flags )
859
839
860
- set (library_search_subdir "${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK } _LIB_SUBDIR}" )
840
+ set (library_search_subdir "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK } _LIB_SUBDIR}" )
861
841
set (library_search_directories
862
842
"${SWIFTLIB_DIR} /${SWIFTLIB_SINGLE_SUBDIR} "
863
843
"${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFTLIB_SINGLE_SUBDIR} "
864
- "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFT_SDK_${SWIFTLIB_SINGLE_SDK } _LIB_SUBDIR}" )
844
+ "${SWIFT_NATIVE_SWIFT_TOOLS_PATH} /../lib/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK } _LIB_SUBDIR}" )
865
845
866
846
# In certain cases when building, the environment variable SDKROOT is set to override
867
847
# where the sdk root is located in the system. If that environment variable has been
@@ -872,38 +852,38 @@ function(_add_swift_host_library_single target)
872
852
endif ()
873
853
874
854
_add_variant_c_compile_flags (
875
- SDK "${SWIFTLIB_SINGLE_SDK } "
876
- ARCH "${SWIFTLIB_SINGLE_ARCHITECTURE } "
855
+ SDK "${SWIFT_HOST_VARIANT_SDK } "
856
+ ARCH "${SWIFT_HOST_VARIANT_ARCH } "
877
857
BUILD_TYPE ${CMAKE_BUILD_TYPE}
878
858
ENABLE_ASSERTIONS ${LLVM_ENABLE_ASSERTIONS}
879
859
ANALYZE_CODE_COVERAGE ${SWIFT_ANALYZE_CODE_COVERAGE}
880
860
ENABLE_LTO ${SWIFT_TOOLS_ENABLE_LTO}
881
861
RESULT_VAR_NAME c_compile_flags
882
862
)
883
863
884
- if (SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS )
864
+ if (SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS )
885
865
if (libkind STREQUAL SHARED )
886
866
list (APPEND c_compile_flags -D_WINDLL )
887
867
endif ()
888
868
endif ()
889
869
_add_variant_link_flags (
890
- SDK "${SWIFTLIB_SINGLE_SDK } "
891
- ARCH "${SWIFTLIB_SINGLE_ARCHITECTURE } "
870
+ SDK "${SWIFT_HOST_VARIANT_SDK } "
871
+ ARCH "${SWIFT_HOST_VARIANT_ARCH } "
892
872
BUILD_TYPE ${CMAKE_BUILD_TYPE}
893
873
ENABLE_ASSERTIONS ${LLVM_ENABLE_ASSERTIONS}
894
874
ANALYZE_CODE_COVERAGE ${SWIFT_ANALYZE_CODE_COVERAGE}
895
875
ENABLE_LTO ${SWIFT_TOOLS_ENABLE_LTO}
896
- LTO_OBJECT_NAME "${target} -${SWIFTLIB_SINGLE_SDK } -${SWIFTLIB_SINGLE_ARCHITECTURE } "
876
+ LTO_OBJECT_NAME "${target} -${SWIFT_HOST_VARIANT_SDK } -${SWIFT_HOST_VARIANT_ARCH } "
897
877
RESULT_VAR_NAME link_flags
898
878
LIBRARY_SEARCH_DIRECTORIES_VAR_NAME library_search_directories
899
879
)
900
880
901
881
# Set compilation and link flags.
902
- if (SWIFTLIB_SINGLE_SDK STREQUAL WINDOWS )
903
- swift_windows_include_for_arch (${SWIFTLIB_SINGLE_ARCHITECTURE }
904
- ${SWIFTLIB_SINGLE_ARCHITECTURE } _INCLUDE )
882
+ if (SWIFT_HOST_VARIANT_SDK STREQUAL WINDOWS )
883
+ swift_windows_include_for_arch (${SWIFT_HOST_VARIANT_ARCH }
884
+ ${SWIFT_HOST_VARIANT_ARCH } _INCLUDE )
905
885
target_include_directories (${target} SYSTEM PRIVATE
906
- ${${SWIFTLIB_SINGLE_ARCHITECTURE }_INCLUDE} )
886
+ ${${SWIFT_HOST_VARIANT_ARCH }_INCLUDE} )
907
887
908
888
if (NOT ${CMAKE_C_COMPILER_ID} STREQUAL MSVC )
909
889
swift_windows_get_sdk_vfs_overlay (SWIFTLIB_SINGLE_VFS_OVERLAY )
@@ -923,7 +903,7 @@ function(_add_swift_host_library_single target)
923
903
${c_compile_flags} )
924
904
target_link_options (${target} PRIVATE
925
905
${link_flags} )
926
- if (${SWIFTLIB_SINGLE_SDK } IN_LIST SWIFT_APPLE_PLATFORMS )
906
+ if (${SWIFT_HOST_VARIANT_SDK } IN_LIST SWIFT_APPLE_PLATFORMS )
927
907
target_link_options (${target} PRIVATE
928
908
"LINKER:-compatibility_version,1" )
929
909
if (SWIFT_COMPILER_VERSION )
@@ -932,7 +912,7 @@ function(_add_swift_host_library_single target)
932
912
endif ()
933
913
# Include LLVM Bitcode slices for iOS, Watch OS, and Apple TV OS device libraries.
934
914
if (SWIFT_EMBED_BITCODE_SECTION )
935
- if (${SWIFTLIB_SINGLE_SDK } MATCHES "(I|TV|WATCH)OS" )
915
+ if (${SWIFT_HOST_VARIANT_SDK } MATCHES "(I|TV|WATCH)OS" )
936
916
# The two branches of this if statement accomplish the same end result
937
917
# We are simply accounting for the fact that on CMake < 3.16
938
918
# using a generator expression to
@@ -1014,10 +994,7 @@ function(add_swift_host_library name)
1014
994
${ASHL_SHARED_keyword}
1015
995
${ASHL_STATIC_keyword}
1016
996
${ASHL_SOURCES}
1017
- SDK ${SWIFT_HOST_VARIANT_SDK}
1018
- ARCHITECTURE ${SWIFT_HOST_VARIANT_ARCH}
1019
997
LLVM_LINK_COMPONENTS ${ASHL_LLVM_LINK_COMPONENTS}
1020
- INSTALL_IN_COMPONENT "dev"
1021
998
)
1022
999
1023
1000
add_dependencies (dev ${name} )
0 commit comments