cmake: Fix Boost dependencies

ast_values uses Boost in its public header file, so this dependency has
to be propagated to all of its users. The situation is similar with
ast_path, but it's already getting this public dep via ast_values, but
given that its public headers themselves include Boost directly, let's
behave nicely and make this public dependency explicit.

On the other hand, the utils library does not use Boost directly, so it
can just rely on that transitive dependency from ast_values.

Change-Id: I0c088aa27359d4d972214069a70e27aad99ee7b5
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eb6f15c..519e2c3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -65,20 +65,20 @@
 # we don't need filename tracking, and we prefer to use header-only Boost
 add_definitions(-DBOOST_SPIRIT_X3_NO_FILESYSTEM)
 
-add_library(path STATIC
-    src/ast_path.cpp
-    )
-target_link_libraries(path Boost::boost)
-
 add_library(ast_values STATIC
     src/ast_values.cpp
     )
-target_link_libraries(ast_values Boost::boost)
+target_link_libraries(ast_values PUBLIC Boost::boost)
+
+add_library(path STATIC
+    src/ast_path.cpp
+    )
+target_link_libraries(path PUBLIC ast_values Boost::boost)
 
 add_library(utils STATIC
     src/utils.cpp
     )
-target_link_libraries(utils path ast_values Boost::boost)
+target_link_libraries(utils path ast_values)
 
 add_library(schemas STATIC
     src/static_schema.cpp