@@ -34,7 +34,6 @@ include(DispatchUtilities)
34
34
35
35
set (SWIFT_LIBDIR "lib" CACHE PATH "Library folder name, defined by swift main buildscript" )
36
36
set (INSTALL_LIBDIR "${SWIFT_LIBDIR} " CACHE PATH "Path where the libraries should be installed" )
37
- set (WITH_BLOCKS_RUNTIME "" CACHE PATH "Path to blocks runtime" )
38
37
39
38
include (DispatchAppleOptions )
40
39
include (DispatchSanitization )
@@ -133,14 +132,14 @@ endif()
133
132
134
133
option (INSTALL_PRIVATE_HEADERS "installs private headers in the same location as the public ones" OFF )
135
134
136
- if ( CMAKE_SYSTEM_NAME STREQUAL Linux OR
137
- CMAKE_SYSTEM_NAME STREQUAL Android OR
138
- CMAKE_SYSTEM_NAME STREQUAL FreeBSD OR
139
- CMAKE_SYSTEM_NAME STREQUAL Windows )
135
+ find_package ( BlocksRuntime QUIET )
136
+ if ( NOT BlocksRuntime_FOUND )
137
+ set ( BlocksRuntime_INCLUDE_DIR ${CMAKE_SOURCE_DIR} /src/BlocksRuntime )
138
+
140
139
add_library (BlocksRuntime
141
140
STATIC
142
141
${CMAKE_SOURCE_DIR} /src/BlocksRuntime/data.c
143
- ${CMAKE_SOURCE_DIR} /src/BlocksRuntime/runtime.c )
142
+ ${CMAKE_SOURCE_DIR} /src/BlocksRuntime/runtime.c )
144
143
set_target_properties (BlocksRuntime
145
144
PROPERTIES
146
145
POSITION_INDEPENDENT_CODE TRUE )
@@ -149,8 +148,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL Linux OR
149
148
PROPERTIES
150
149
INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS} )
151
150
endif ()
152
- set (WITH_BLOCKS_RUNTIME "${CMAKE_SOURCE_DIR} /src/BlocksRuntime" CACHE PATH "Path to blocks runtime" FORCE )
153
-
151
+
152
+ add_library (BlocksRuntime::BlocksRuntime ALIAS BlocksRuntime )
153
+
154
154
install (FILES
155
155
${CMAKE_SOURCE_DIR} /src/BlocksRuntime/Block.h
156
156
DESTINATION
@@ -161,9 +161,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL Linux OR
161
161
DESTINATION
162
162
"${INSTALL_BLOCK_HEADERS_DIR} " )
163
163
endif ()
164
- else ()
165
- # TODO(compnerd) support system installed BlocksRuntime
166
- # find_package(BlocksRuntime REQUIRED)
167
164
endif ()
168
165
169
166
check_symbol_exists (__GNU_LIBRARY__ "features.h" _GNU_SOURCE )
0 commit comments