@@ -84,105 +84,107 @@ foreach(sdk ${DISPATCH_SDKS})
8484 set (SWIFT_LIBDISPATCH_SYSTEM_PROCESSOR -DCMAKE_SYSTEM_PROCESSOR=${arch} )
8585 endif ()
8686
87- ExternalProject_Add("${LIBDISPATCH_VARIANT_NAME} "
88- SOURCE_DIR
89- "${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} "
90- CMAKE_ARGS
91- -DCMAKE_AR=${CMAKE_AR}
92- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
93- ${SWIFT_LIBDISPATCH_COMPILER_CMAKE_ARGS}
94- ${SWIFT_LIBDISPATCH_COMPILER_TRIPLE_CMAKE_ARGS}
95- -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
96- -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
97- -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
98- -DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}
99- -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
100- -DCMAKE_INSTALL_LIBDIR=lib
101- -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
102- -DCMAKE_LINKER=${CMAKE_LINKER}
103- -DCMAKE_MT=${CMAKE_MT}
104- -DCMAKE_RANLIB=${CMAKE_RANLIB}
105- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
106- -DCMAKE_SYSTEM_NAME=${SWIFT_SDK_${sdk} _NAME}
107- ${SWIFT_LIBDISPATCH_SYSTEM_PROCESSOR}
108- "${SWIFT_LIBDISPATCH_ANDROID_NDK} "
109- -DCMAKE_ANDROID_ARCH_ABI=${SWIFT_SDK_ANDROID_ARCH_${arch} _ABI}
110- -DCMAKE_ANDROID_API=${SWIFT_ANDROID_API_LEVEL}
111- -DBUILD_SHARED_LIBS=YES
112- -DENABLE_SWIFT=NO
113- -DBUILD_TESTING=NO
114- INSTALL_COMMAND
115- # NOTE(compnerd) provide a custom install command to
116- # ensure that we strip out the DESTDIR environment
117- # from the sub-build
118- ${CMAKE_COMMAND} -E env --unset=DESTDIR ${CMAKE_COMMAND} --build . --target install
119- COMMAND
120- ${CMAKE_COMMAND} -E copy
121- <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
122- ${SWIFTLIB_DIR} /${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${arch} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
123- COMMAND
124- ${CMAKE_COMMAND} -E copy
125- <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
126- ${SWIFTLIB_DIR} /${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${arch} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
127- COMMAND
128- ${CMAKE_COMMAND} -E copy
129- <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
130- ${SWIFTLIB_DIR} /${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
131- COMMAND
132- ${CMAKE_COMMAND} -E copy
133- <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
134- ${SWIFTLIB_DIR} /${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
135- STEP_TARGETS
136- install
137- BUILD_BYPRODUCTS
138- <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
139- <INSTALL_DIR>/lib/${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_SUFFIX}
140- <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
141- <INSTALL_DIR>/lib/${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_SUFFIX}
142- BUILD_ALWAYS
143- 1)
87+ if (NOT SWIFT_SDK_${sdk} _STATIC_ONLY)
88+ ExternalProject_Add("${LIBDISPATCH_VARIANT_NAME} "
89+ SOURCE_DIR
90+ "${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} "
91+ CMAKE_ARGS
92+ -DCMAKE_AR=${CMAKE_AR}
93+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
94+ ${SWIFT_LIBDISPATCH_COMPILER_CMAKE_ARGS}
95+ ${SWIFT_LIBDISPATCH_COMPILER_TRIPLE_CMAKE_ARGS}
96+ -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
97+ -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
98+ -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
99+ -DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}
100+ -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
101+ -DCMAKE_INSTALL_LIBDIR=lib
102+ -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
103+ -DCMAKE_LINKER=${CMAKE_LINKER}
104+ -DCMAKE_MT=${CMAKE_MT}
105+ -DCMAKE_RANLIB=${CMAKE_RANLIB}
106+ -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
107+ -DCMAKE_SYSTEM_NAME=${SWIFT_SDK_${sdk} _NAME}
108+ ${SWIFT_LIBDISPATCH_SYSTEM_PROCESSOR}
109+ "${SWIFT_LIBDISPATCH_ANDROID_NDK} "
110+ -DCMAKE_ANDROID_ARCH_ABI=${SWIFT_SDK_ANDROID_ARCH_${arch} _ABI}
111+ -DCMAKE_ANDROID_API=${SWIFT_ANDROID_API_LEVEL}
112+ -DBUILD_SHARED_LIBS=YES
113+ -DENABLE_SWIFT=NO
114+ -DBUILD_TESTING=NO
115+ INSTALL_COMMAND
116+ # NOTE(compnerd) provide a custom install command to
117+ # ensure that we strip out the DESTDIR environment
118+ # from the sub-build
119+ ${CMAKE_COMMAND} -E env --unset=DESTDIR ${CMAKE_COMMAND} --build . --target install
120+ COMMAND
121+ ${CMAKE_COMMAND} -E copy
122+ <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
123+ ${SWIFTLIB_DIR} /${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${arch} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
124+ COMMAND
125+ ${CMAKE_COMMAND} -E copy
126+ <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
127+ ${SWIFTLIB_DIR} /${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${arch} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
128+ COMMAND
129+ ${CMAKE_COMMAND} -E copy
130+ <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
131+ ${SWIFTLIB_DIR} /${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
132+ COMMAND
133+ ${CMAKE_COMMAND} -E copy
134+ <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
135+ ${SWIFTLIB_DIR} /${SWIFT_SDK_${sdk} _LIB_SUBDIR}/${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
136+ STEP_TARGETS
137+ install
138+ BUILD_BYPRODUCTS
139+ <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
140+ <INSTALL_DIR>/lib/${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_SUFFIX}
141+ <INSTALL_DIR>/${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
142+ <INSTALL_DIR>/lib/${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_SUFFIX}
143+ BUILD_ALWAYS
144+ 1)
144145
145- ExternalProject_Get_Property("${LIBDISPATCH_VARIANT_NAME} " install_dir)
146+ ExternalProject_Get_Property("${LIBDISPATCH_VARIANT_NAME} " install_dir)
146147
147- if (NOT SWIFT_BUILT_STANDALONE AND NOT "${CMAKE_C_COMPILER_ID} " MATCHES "Clang" )
148- add_dependencies ("${LIBDISPATCH_VARIANT_NAME} " clang)
149- endif ()
148+ if (NOT SWIFT_BUILT_STANDALONE AND NOT "${CMAKE_C_COMPILER_ID} " MATCHES "Clang" )
149+ add_dependencies ("${LIBDISPATCH_VARIANT_NAME} " clang)
150+ endif ()
150151
151- # CMake does not like the addition of INTERFACE_INCLUDE_DIRECTORIES without
152- # the directory existing. Just create the location which will be populated
153- # during the installation.
154- file (MAKE_DIRECTORY ${install_dir} /include )
152+ # CMake does not like the addition of INTERFACE_INCLUDE_DIRECTORIES without
153+ # the directory existing. Just create the location which will be populated
154+ # during the installation.
155+ file (MAKE_DIRECTORY ${install_dir} /include )
155156
156- set (DISPATCH_VARIANT_NAME "dispatch-${SWIFT_SDK_${sdk} _LIB_SUBDIR}-${arch} " )
157- add_library ("${DISPATCH_VARIANT_NAME} " SHARED IMPORTED GLOBAL )
158- set_target_properties ("${DISPATCH_VARIANT_NAME} "
159- PROPERTIES
160- IMPORTED_LOCATION
161- ${install_dir} /${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
162- IMPORTED_IMPLIB
163- ${install_dir} /lib/${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_SUFFIX}
164- INTERFACE_INCLUDE_DIRECTORIES
165- ${install_dir} /include
166- IMPORTED_NO_SONAME
167- 1)
157+ set (DISPATCH_VARIANT_NAME "dispatch-${SWIFT_SDK_${sdk} _LIB_SUBDIR}-${arch} " )
158+ add_library ("${DISPATCH_VARIANT_NAME} " SHARED IMPORTED GLOBAL )
159+ set_target_properties ("${DISPATCH_VARIANT_NAME} "
160+ PROPERTIES
161+ IMPORTED_LOCATION
162+ ${install_dir} /${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
163+ IMPORTED_IMPLIB
164+ ${install_dir} /lib/${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_PREFIX}dispatch${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_SUFFIX}
165+ INTERFACE_INCLUDE_DIRECTORIES
166+ ${install_dir} /include
167+ IMPORTED_NO_SONAME
168+ 1)
168169
169- set (BLOCKS_RUNTIME_VARIANT_NAME "BlocksRuntime-${SWIFT_SDK_${sdk} _LIB_SUBDIR}-${arch} " )
170- add_library ("${BLOCKS_RUNTIME_VARIANT_NAME} " SHARED IMPORTED GLOBAL )
171- set_target_properties ("${BLOCKS_RUNTIME_VARIANT_NAME} "
172- PROPERTIES
173- IMPORTED_LOCATION
174- ${install_dir} /${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
175- IMPORTED_IMPLIB
176- ${install_dir} /lib/${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_SUFFIX}
177- INTERFACE_INCLUDE_DIRECTORIES
178- ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} /src/BlocksRuntime
179- IMPORTED_NO_SONAME
180- 1)
170+ set (BLOCKS_RUNTIME_VARIANT_NAME "BlocksRuntime-${SWIFT_SDK_${sdk} _LIB_SUBDIR}-${arch} " )
171+ add_library ("${BLOCKS_RUNTIME_VARIANT_NAME} " SHARED IMPORTED GLOBAL )
172+ set_target_properties ("${BLOCKS_RUNTIME_VARIANT_NAME} "
173+ PROPERTIES
174+ IMPORTED_LOCATION
175+ ${install_dir} /${LIBDISPATCH_RUNTIME_DIR} /${SWIFT_SDK_${sdk} _SHARED_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _SHARED_LIBRARY_SUFFIX}
176+ IMPORTED_IMPLIB
177+ ${install_dir} /lib/${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_PREFIX}BlocksRuntime${SWIFT_SDK_${sdk} _IMPORT_LIBRARY_SUFFIX}
178+ INTERFACE_INCLUDE_DIRECTORIES
179+ ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE} /src/BlocksRuntime
180+ IMPORTED_NO_SONAME
181+ 1)
181182
182- add_dependencies ("${DISPATCH_VARIANT_NAME} " "${LIBDISPATCH_VARIANT_NAME} -install" )
183- add_dependencies ("${BLOCKS_RUNTIME_VARIANT_NAME} " "${LIBDISPATCH_VARIANT_NAME} -install" )
183+ add_dependencies ("${DISPATCH_VARIANT_NAME} " "${LIBDISPATCH_VARIANT_NAME} -install" )
184+ add_dependencies ("${BLOCKS_RUNTIME_VARIANT_NAME} " "${LIBDISPATCH_VARIANT_NAME} -install" )
185+ endif ()
184186
185- if (SWIFT_BUILD_STATIC_STDLIB)
187+ if (SWIFT_BUILD_STATIC_STDLIB OR SWIFT_SDK_ ${sdk} _STATIC_ONLY )
186188 set (LIBDISPATCH_STATIC_VARIANT_NAME "libdispatch-${SWIFT_SDK_${sdk} _LIB_SUBDIR}-${arch} -static" )
187189 ExternalProject_Add("${LIBDISPATCH_STATIC_VARIANT_NAME} "
188190 SOURCE_DIR
0 commit comments