@@ -74,14 +74,12 @@ if(ENABLE_SWIFT)
74
74
75
75
set (INSTALL_TARGET_DIR "${INSTALL_LIBDIR} /swift/${SWIFT_OS} " CACHE PATH "Path where the libraries will be installed" )
76
76
set (INSTALL_DISPATCH_HEADERS_DIR "${INSTALL_LIBDIR} /swift/dispatch" CACHE PATH "Path where the headers will be installed for libdispatch" )
77
- set (INSTALL_BLOCK_HEADERS_DIR "${INSTALL_LIBDIR} /swift/Block" CACHE PATH "Path where the headers will be installed for the blocks runtime" )
78
77
set (INSTALL_OS_HEADERS_DIR "${INSTALL_LIBDIR} /swift/os" CACHE PATH "Path where the os/ headers will be installed" )
79
78
endif ()
80
79
81
80
if (NOT ENABLE_SWIFT )
82
81
set (INSTALL_TARGET_DIR "${INSTALL_LIBDIR} " CACHE PATH "Path where the libraries will be installed" )
83
82
set (INSTALL_DISPATCH_HEADERS_DIR "include/dispatch" CACHE PATH "Path where the headers will be installed" )
84
- set (INSTALL_BLOCK_HEADERS_DIR "include" CACHE PATH "Path where the headers will be installed for the blocks runtime" )
85
83
set (INSTALL_OS_HEADERS_DIR "include/os" CACHE PATH "Path where the headers will be installed" )
86
84
endif ()
87
85
@@ -132,35 +130,43 @@ endif()
132
130
133
131
option (INSTALL_PRIVATE_HEADERS "installs private headers in the same location as the public ones" OFF )
134
132
135
- find_package (BlocksRuntime QUIET )
136
- if (NOT BlocksRuntime_FOUND )
133
+ if (NOT CMAKE_SYSTEM_NAME STREQUAL Darwin )
137
134
set (BlocksRuntime_INCLUDE_DIR ${PROJECT_SOURCE_DIR} /src/BlocksRuntime )
138
135
139
136
add_library (BlocksRuntime
140
- STATIC
141
- ${PROJECT_SOURCE_DIR} /src/BlocksRuntime/data.c
142
- ${PROJECT_SOURCE_DIR} /src/BlocksRuntime/runtime.c )
137
+ ${PROJECT_SOURCE_DIR} /src/BlocksRuntime/data.c
138
+ ${PROJECT_SOURCE_DIR} /src/BlocksRuntime/runtime.c )
143
139
set_target_properties (BlocksRuntime
144
140
PROPERTIES
145
141
POSITION_INDEPENDENT_CODE TRUE )
146
142
if (HAVE_OBJC AND CMAKE_DL_LIBS )
147
- set_target_properties (BlocksRuntime
148
- PROPERTIES
149
- INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS} )
143
+ target_link_libraries (BlocksRuntime
144
+ PUBLIC
145
+ ${CMAKE_DL_LIBS} )
150
146
endif ()
151
147
152
148
add_library (BlocksRuntime::BlocksRuntime ALIAS BlocksRuntime )
153
149
150
+ if (ENABLE_SWIFT )
151
+ set (LIBDISPATCH_BLOCKSRUNTIME_HEADER_DIR ${SWIFT_LIBDIR} /swift/Block )
152
+ else ()
153
+ set (LIBDISPATCH_BLOCKSRUNTIME_HEADER_DIR ${CMAKE_INSTALL_INCLUDEDIR} )
154
+ endif ()
155
+
154
156
install (FILES
155
157
${PROJECT_SOURCE_DIR} /src/BlocksRuntime/Block.h
156
158
DESTINATION
157
- " ${INSTALL_BLOCK_HEADERS_DIR} " )
159
+ ${LIBDISPATCH_BLOCKSRUNTIME_HEADER_DIR} )
158
160
if (INSTALL_PRIVATE_HEADERS )
159
161
install (FILES
160
162
${PROJECT_SOURCE_DIR} /src/BlocksRuntime/Block_private.h
161
163
DESTINATION
162
- " ${INSTALL_BLOCK_HEADERS_DIR} " )
164
+ ${LIBDISPATCH_BLOCKSRUNTIME_HEADER_DIR} )
163
165
endif ()
166
+ install (TARGETS
167
+ BlocksRuntime
168
+ DESTINATION
169
+ ${INSTALL_TARGET_DIR} )
164
170
endif ()
165
171
166
172
check_symbol_exists (__GNU_LIBRARY__ "features.h" _GNU_SOURCE )
0 commit comments