@@ -16,10 +16,8 @@ set(THREADS_PREFER_PTHREAD_FLAG TRUE)
16
16
find_package (Threads REQUIRED )
17
17
18
18
include (GNUInstallDirs )
19
- include (ExternalProject )
20
19
21
20
set (WITH_BLOCKS_RUNTIME "" CACHE PATH "Path to blocks runtime" )
22
- set (WITH_PTHREAD_WORKQUEUES "" CACHE PATH "Path to pthread-workqueues" )
23
21
24
22
include (DispatchAppleOptions )
25
23
@@ -34,27 +32,15 @@ set(USE_LIBDISPATCH_INIT_CONSTRUCTOR ${ENABLE_DISPATCH_INIT_CONSTRUCTOR})
34
32
option (ENABLE_THREAD_LOCAL_STORAGE "enable usage of thread local storage via __thread" ON )
35
33
set (DISPATCH_USE_THREAD_LOCAL_STORAGE ${ENABLE_THREAD_LOCAL_STORAGE} )
36
34
37
- if (EXISTS "${CMAKE_SOURCE_DIR} /libpwq/CMakeLists.txt" )
38
- ExternalProject_Add (pwq
39
- SOURCE_DIR
40
- "${CMAKE_SOURCE_DIR} /libpwq"
41
- CMAKE_ARGS
42
- -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
43
- -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
44
- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
45
- BUILD_BYPRODUCTS
46
- <INSTALL_DIR>/${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}pthread_workqueue${CMAKE_STATIC_LIBRARY_SUFFIX} )
47
- ExternalProject_Get_Property (pwq install_dir )
48
- add_library (PTHREAD::workqueue UNKNOWN IMPORTED )
49
- set_target_properties (PTHREAD::workqueue
50
- PROPERTIES
51
- IMPORTED_LOCATION ${install_dir} /${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}pthread_workqueue${CMAKE_STATIC_LIBRARY_SUFFIX} )
52
- set (WITH_PTHREAD_WORKQUEUES "${install_dir} " CACHE PATH "Path to pthread-workqueues" FORCE )
53
- set (HAVE_PTHREAD_WORKQUEUES 1 )
35
+ # TODO: Real CMake logic for internal workqueues
36
+ if (CMAKE_SYSTEM_NAME STREQUAL Linux OR
37
+ CMAKE_SYSTEM_NAME STREQUAL Android OR
38
+ CMAKE_SYSTEM_NAME STREQUAL Windows )
39
+ set (DISPATCH_USE_INTERNAL_WORKQUEUE 1 )
40
+ set (HAVE_PTHREAD_WORKQUEUES 0 )
54
41
else ()
55
- # TODO(compnerd) support system installed pthread-workqueues
56
- # find_package(pthread_workqueues REQUIRED)
57
- # set(HAVE_PTHREAD_WORKQUEUES 1)
42
+ set (DISPATCH_USE_INTERNAL_WORKQUEUE 0 )
43
+ set (HAVE_PTHREAD_WORKQUEUES 1 )
58
44
endif ()
59
45
60
46
if (CMAKE_SYSTEM_NAME STREQUAL Linux OR
@@ -179,12 +165,13 @@ check_symbol_exists(VQ_VERYLOWDISK "sys/mount.h" HAVE_DECL_VQ_VERYLOWDISK)
179
165
180
166
check_symbol_exists (program_invocation_name "errno.h" HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME )
181
167
182
- find_program (dtrace_EXECUTABLE dtrace )
183
- if (dtrace_EXECUTABLE )
168
+ find_program (DTRACE dtrace )
169
+ if (DTRACE )
184
170
add_definitions (-DDISPATCH_USE_DTRACE=1 )
185
171
else ()
186
172
add_definitions (-DDISPATCH_USE_DTRACE=0 )
187
173
endif ()
174
+ include (DTrace )
188
175
189
176
find_program (leaks_EXECUTABLE leaks )
190
177
if (leaks_EXECUTABLE )
0 commit comments