build: adjust linking visibility for exported targets

Make BlocksRuntime public rather than private since the public headers reference
`Blocks.h` making the users dependent on BlocksRuntime, requiring the explicit
link.  This also enables the use of the export targets to automatically setup
the include paths for users.
diff --git a/src/BlocksRuntime/CMakeLists.txt b/src/BlocksRuntime/CMakeLists.txt
index 4c8fa99..1bed202 100644
--- a/src/BlocksRuntime/CMakeLists.txt
+++ b/src/BlocksRuntime/CMakeLists.txt
@@ -12,14 +12,16 @@
   endif()
 endif()
 
-set_target_properties(BlocksRuntime PROPERTIES
-  POSITION_INDEPENDENT_CODE TRUE
-  INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(BlocksRuntime PUBLIC
+  ${CMAKE_CURRENT_SOURCE_DIR})
 if(HAVE_OBJC AND CMAKE_DL_LIBS)
   target_link_libraries(BlocksRuntime PUBLIC
     ${CMAKE_DL_LIBS})
 endif()
 
+set_target_properties(BlocksRuntime PROPERTIES
+  POSITION_INDEPENDENT_CODE TRUE)
+
 add_library(BlocksRuntime::BlocksRuntime ALIAS BlocksRuntime)
 
 install(FILES Block.h
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c401758..c88b430 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -95,14 +95,13 @@
 set_target_properties(dispatch PROPERTIES
   POSITION_INDEPENDENT_CODE YES)
 
-target_include_directories(dispatch PRIVATE
+target_include_directories(dispatch PUBLIC
   ${PROJECT_BINARY_DIR}
   ${PROJECT_SOURCE_DIR}
   ${CMAKE_CURRENT_SOURCE_DIR}
-  ${CMAKE_CURRENT_BINARY_DIR}
+  ${CMAKE_CURRENT_BINARY_DIR})
+target_include_directories(dispatch PRIVATE
   ${PROJECT_SOURCE_DIR}/private)
-target_include_directories(dispatch SYSTEM BEFORE PRIVATE
-  "${BlocksRuntime_INCLUDE_DIR}")
 
 if(CMAKE_SYSTEM_NAME STREQUAL Windows)
   target_compile_definitions(dispatch PRIVATE
@@ -137,7 +136,8 @@
   target_link_libraries(dispatch PRIVATE RT::rt)
 endif()
 target_link_libraries(dispatch PRIVATE
-  Threads::Threads
+  Threads::Threads)
+target_link_libraries(dispatch PUBLIC
   BlocksRuntime::BlocksRuntime)
 if(CMAKE_SYSTEM_NAME STREQUAL Windows)
   target_link_libraries(dispatch PRIVATE