@@ -84,105 +84,107 @@ foreach(sdk ${DISPATCH_SDKS})
84
84
set (SWIFT_LIBDISPATCH_SYSTEM_PROCESSOR -DCMAKE_SYSTEM_PROCESSOR=${arch} )
85
85
endif ()
86
86
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 )
144
145
145
- ExternalProject_Get_Property ("${LIBDISPATCH_VARIANT_NAME} " install_dir )
146
+ ExternalProject_Get_Property ("${LIBDISPATCH_VARIANT_NAME} " install_dir )
146
147
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 ()
150
151
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 )
155
156
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 )
168
169
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 )
181
182
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 ()
184
186
185
- if (SWIFT_BUILD_STATIC_STDLIB )
187
+ if (SWIFT_BUILD_STATIC_STDLIB OR SWIFT_SDK_${sdk}_STATIC_ONLY )
186
188
set (LIBDISPATCH_STATIC_VARIANT_NAME "libdispatch-${SWIFT_SDK_${sdk} _LIB_SUBDIR}-${arch} -static" )
187
189
ExternalProject_Add ("${LIBDISPATCH_STATIC_VARIANT_NAME} "
188
190
SOURCE_DIR
0 commit comments