Skip to content

Commit 2e13205

Browse files
committed
build: CF, CVP, DAE over flag computation
Perform some constant folding, constant value propagation, dead argument elimination over the flag computation methods. This reduces the unnecessary parameters and more clearly and succinctly describes what is happening.
1 parent 6de2863 commit 2e13205

File tree

1 file changed

+8
-51
lines changed

1 file changed

+8
-51
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 8 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -75,48 +75,23 @@ endfunction()
7575
# _add_host_variant_c_compile_link_flags(
7676
# ANALYZE_CODE_COVERAGE analyze_code_coverage
7777
# RESULT_VAR_NAME result_var_name
78-
# DEPLOYMENT_VERSION_OSX version # If provided, overrides the default value of the OSX deployment target set by the Swift project for this compilation only.
79-
# DEPLOYMENT_VERSION_MACCATALYST version
80-
# DEPLOYMENT_VERSION_IOS version
81-
# DEPLOYMENT_VERSION_TVOS version
82-
# DEPLOYMENT_VERSION_WATCHOS version
8378
# )
8479
function(_add_host_variant_c_compile_link_flags)
85-
set(oneValueArgs RESULT_VAR_NAME ANALYZE_CODE_COVERAGE
86-
DEPLOYMENT_VERSION_OSX DEPLOYMENT_VERSION_MACCATALYST DEPLOYMENT_VERSION_IOS DEPLOYMENT_VERSION_TVOS DEPLOYMENT_VERSION_WATCHOS
87-
MACCATALYST_BUILD_FLAVOR
88-
)
80+
set(oneValueArgs RESULT_VAR_NAME ANALYZE_CODE_COVERAGE)
8981
cmake_parse_arguments(CFLAGS
9082
""
9183
"${oneValueArgs}"
9284
""
9385
${ARGN})
9486

9587
get_maccatalyst_build_flavor(maccatalyst_build_flavor
96-
"${SWFIT_HOST_VARIANT_SDK}" "${CFLAGS_MACCATALYST_BUILD_FLAVOR}")
88+
"${SWFIT_HOST_VARIANT_SDK}" "")
9789

9890
set(result ${${CFLAGS_RESULT_VAR_NAME}})
9991

10092
is_darwin_based_sdk("${SWIFT_HOST_VARIANT_SDK}" IS_DARWIN)
10193
if(IS_DARWIN)
102-
# Check if there's a specific OS deployment version needed for this invocation
103-
if(SWIFT_HOST_VARIANT_SDK STREQUAL OSX)
104-
if(DEFINED maccatalyst_build_flavor)
105-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_MACCATALYST})
106-
else()
107-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_OSX})
108-
endif()
109-
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "^IOS")
110-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_IOS})
111-
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "^TVOS")
112-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_TVOS})
113-
elseif(SWIFT_HOST_VARIANT_SDK MATCHES "^WATCHOS")
114-
set(DEPLOYMENT_VERSION ${CFLAGS_DEPLOYMENT_VERSION_WATCHOS})
115-
endif()
116-
117-
if("${DEPLOYMENT_VERSION}" STREQUAL "")
118-
set(DEPLOYMENT_VERSION "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_DEPLOYMENT_VERSION}")
119-
endif()
94+
set(DEPLOYMENT_VERSION "${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_DEPLOYMENT_VERSION}")
12095
endif()
12196

12297
# MSVC, clang-cl, gcc don't understand -target.
@@ -185,10 +160,7 @@ endfunction()
185160

186161

187162
function(_add_host_variant_c_compile_flags)
188-
set(oneValueArgs
189-
DEPLOYMENT_VERSION_OSX DEPLOYMENT_VERSION_MACCATALYST DEPLOYMENT_VERSION_IOS DEPLOYMENT_VERSION_TVOS DEPLOYMENT_VERSION_WATCHOS
190-
RESULT_VAR_NAME
191-
MACCATALYST_BUILD_FLAVOR)
163+
set(oneValueArgs RESULT_VAR_NAME)
192164
cmake_parse_arguments(CFLAGS
193165
""
194166
"${oneValueArgs}"
@@ -199,13 +171,7 @@ function(_add_host_variant_c_compile_flags)
199171

200172
_add_host_variant_c_compile_link_flags(
201173
ANALYZE_CODE_COVERAGE FALSE
202-
DEPLOYMENT_VERSION_OSX "${CFLAGS_DEPLOYMENT_VERSION_OSX}"
203-
DEPLOYMENT_VERSION_MACCATALYST "${CFLAGS_DEPLOYMENT_VERSION_MACCATALYST}"
204-
DEPLOYMENT_VERSION_IOS "${CFLAGS_DEPLOYMENT_VERSION_IOS}"
205-
DEPLOYMENT_VERSION_TVOS "${CFLAGS_DEPLOYMENT_VERSION_TVOS}"
206-
DEPLOYMENT_VERSION_WATCHOS "${CFLAGS_DEPLOYMENT_VERSION_WATCHOS}"
207-
RESULT_VAR_NAME result
208-
MACCATALYST_BUILD_FLAVOR "${CFLAGS_MACCATALYST_BUILD_FLAVOR}")
174+
RESULT_VAR_NAME result)
209175

210176
is_build_type_optimized("${CMAKE_BUILD_TYPE}" optimized)
211177
if(optimized)
@@ -358,10 +324,7 @@ endfunction()
358324

359325
function(_add_host_variant_link_flags)
360326
set(oneValueArgs
361-
DEPLOYMENT_VERSION_OSX DEPLOYMENT_VERSION_MACCATALYST DEPLOYMENT_VERSION_IOS DEPLOYMENT_VERSION_TVOS DEPLOYMENT_VERSION_WATCHOS
362-
RESULT_VAR_NAME ENABLE_LTO LTO_OBJECT_NAME LINK_LIBRARIES_VAR_NAME LIBRARY_SEARCH_DIRECTORIES_VAR_NAME
363-
MACCATALYST_BUILD_FLAVOR
364-
)
327+
RESULT_VAR_NAME ENABLE_LTO LTO_OBJECT_NAME LINK_LIBRARIES_VAR_NAME LIBRARY_SEARCH_DIRECTORIES_VAR_NAME)
365328
cmake_parse_arguments(LFLAGS
366329
""
367330
"${oneValueArgs}"
@@ -374,13 +337,7 @@ function(_add_host_variant_link_flags)
374337

375338
_add_host_variant_c_compile_link_flags(
376339
ANALYZE_CODE_COVERAGE ${SWIFT_ANALYZE_CODE_COVERAGE}
377-
DEPLOYMENT_VERSION_OSX "${LFLAGS_DEPLOYMENT_VERSION_OSX}"
378-
DEPLOYMENT_VERSION_MACCATALYST "${LFLAGS_DEPLOYMENT_VERSION_MACCATALYST}"
379-
DEPLOYMENT_VERSION_IOS "${LFLAGS_DEPLOYMENT_VERSION_IOS}"
380-
DEPLOYMENT_VERSION_TVOS "${LFLAGS_DEPLOYMENT_VERSION_TVOS}"
381-
DEPLOYMENT_VERSION_WATCHOS "${LFLAGS_DEPLOYMENT_VERSION_WATCHOS}"
382-
RESULT_VAR_NAME result
383-
MACCATALYST_BUILD_FLAVOR "${LFLAGS_MACCATALYST_BUILD_FLAVOR}")
340+
RESULT_VAR_NAME result)
384341
if(SWIFT_HOST_VARIANT_SDK STREQUAL LINUX)
385342
list(APPEND link_libraries "pthread" "dl")
386343
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL FREEBSD)
@@ -482,7 +439,7 @@ function(_add_host_variant_link_flags)
482439
endif()
483440

484441
get_maccatalyst_build_flavor(maccatalyst_build_flavor
485-
"${SWIFT_HOST_VARIANT_SDK}" "${LFLAGS_MACCATALYST_BUILD_FLAVOR}")
442+
"${SWIFT_HOST_VARIANT_SDK}" "")
486443

487444
set("${LFLAGS_RESULT_VAR_NAME}" "${result}" PARENT_SCOPE)
488445
set("${LFLAGS_LINK_LIBRARIES_VAR_NAME}" "${link_libraries}" PARENT_SCOPE)

0 commit comments

Comments
 (0)