diff --git a/build/appveyor/MSVC-appveyor-build.bat b/build/appveyor/MSVC-appveyor-build.bat
index a4b92a2..0b7f0ef 100644
--- a/build/appveyor/MSVC-appveyor-build.bat
+++ b/build/appveyor/MSVC-appveyor-build.bat
@@ -21,6 +21,21 @@
 MKDIR "%BUILDDIR%"                          || EXIT /B
 CD "%BUILDDIR%"                             || EXIT /B
 
+:: When libraries cannot be found, things might have been updated
+:: so uncomment this and submit a pull request to see what's there
+:: now...
+:: DIR C:\Libraries
+:: DIR C:\Libraries\boost_1_69_0\lib*
+:: DIR C:\Libraries\boost_1_68_0\lib*
+:: DIR C:\Libraries\boost_1_67_0\lib*
+:: DIR C:\Libraries\boost_1_66_0\lib*
+:: DIR C:\Libraries\boost_1_65_0\lib*
+:: DIR C:\Libraries\boost_1_64_0\lib*
+:: DIR C:\Libraries\boost_1_63_0\lib*
+:: DIR C:\Libraries\boost_1_62_0\lib*
+:: DIR C:\Libraries\boost_1_61_0\lib*
+:: DIR C:\Libraries\boost_1_60_0\lib*
+
 @ECHO ON
   cmake "%SRCDIR%" ^
     -G"%GENERATOR%" ^
diff --git a/build/cmake/BoostMacros.cmake b/build/cmake/BoostMacros.cmake
new file mode 100644
index 0000000..0c7f13d
--- /dev/null
+++ b/build/cmake/BoostMacros.cmake
@@ -0,0 +1,41 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+set(BOOST_MINREV 1.53)
+
+macro(REQUIRE_BOOST_HEADERS)
+  find_package(Boost ${BOOST_MINREV} QUIET REQUIRED)
+  if (NOT Boost_FOUND)
+    string(CONCAT fatal_message
+	    "Boost 1.53 or later is required to build sources in ${CMAKE_CURRENT_SOURCE_DIR}")
+    message(FATAL_ERROR, ${fatal_message})
+  endif()
+  include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
+endmacro()
+
+macro(REQUIRE_BOOST_LIBRARIES libs)
+  message(STATUS "Locating boost libraries required by sources in ${CMAKE_CURRENT_SOURCE_DIR}")
+  find_package(Boost ${BOOST_MINREV} REQUIRED COMPONENTS ${${libs}})
+  if (NOT Boost_FOUND)
+    string(CONCAT fatal_message
+	    "Boost 1.53 or later is required to build sources in ${CMAKE_CURRENT_SOURCE_DIR}, "
+	    "or use -DBUILD_TESTING=OFF")
+    message(FATAL_ERROR, ${fatal_message})
+  endif()
+endmacro()
diff --git a/build/cmake/DefineCMakeDefaults.cmake b/build/cmake/DefineCMakeDefaults.cmake
index 93255e0..7ae2136 100644
--- a/build/cmake/DefineCMakeDefaults.cmake
+++ b/build/cmake/DefineCMakeDefaults.cmake
@@ -34,10 +34,6 @@
 # since cmake 2.4.0
 set(CMAKE_COLOR_MAKEFILE ON)
 
-# Define the generic version of the libraries here
-set(GENERIC_LIB_VERSION "1.0.0")
-set(GENERIC_LIB_SOVERSION "0")
-
 # Set the default build type to release with debug info
 if (NOT CMAKE_BUILD_TYPE)
   set(CMAKE_BUILD_TYPE RelWithDebInfo
diff --git a/build/cmake/DefineOptions.cmake b/build/cmake/DefineOptions.cmake
index 9aff53c..207b770 100644
--- a/build/cmake/DefineOptions.cmake
+++ b/build/cmake/DefineOptions.cmake
@@ -50,7 +50,6 @@
 # C++
 option(WITH_CPP "Build C++ Thrift library" ON)
 if(WITH_CPP)
-    find_package(Boost 1.53 QUIET)
     # NOTE: Currently the following options are C++ specific,
     # but in future other libraries might reuse them.
     # So they are not dependent on WITH_CPP but setting them without WITH_CPP currently
@@ -78,10 +77,11 @@
     find_package(OpenSSL QUIET)
     CMAKE_DEPENDENT_OPTION(WITH_OPENSSL "Build with OpenSSL support" ON
                            "OPENSSL_FOUND" OFF)
+    # if disabled, builds with posix thread class - deprecated and will be removed...
     option(WITH_STDTHREADS "Build with C++ std::thread support" ON)
 endif()
 CMAKE_DEPENDENT_OPTION(BUILD_CPP "Build C++ library" ON
-                       "BUILD_LIBRARIES;WITH_CPP;Boost_FOUND" OFF)
+                       "BUILD_LIBRARIES;WITH_CPP" OFF)
 CMAKE_DEPENDENT_OPTION(WITH_PLUGIN "Build compiler plugin support" OFF
                        "BUILD_COMPILER;BUILD_CPP" OFF)
 
@@ -93,20 +93,9 @@
 CMAKE_DEPENDENT_OPTION(BUILD_C_GLIB "Build C (GLib) library" ON
                        "BUILD_LIBRARIES;WITH_C_GLIB;GLIB_FOUND" OFF)
 
-if(BUILD_CPP)
-    set(boost_components)
-    if(BUILD_TESTING)
-        list(APPEND boost_components system thread)
-    endif()
-    if(BUILD_TESTING)
-        list(APPEND boost_components unit_test_framework filesystem chrono program_options)
-    endif()
-    if(boost_components)
-        find_package(Boost 1.53 REQUIRED COMPONENTS ${boost_components})
-    endif()
-elseif(BUILD_C_GLIB AND BUILD_TESTING)
-    find_package(Boost 1.53 REQUIRED)
-endif()
+	       #if(BUILD_C_GLIB AND BUILD_TESTING)
+	       #    find_package(Boost 1.53 REQUIRED)
+	       #endif()
 
 # Java
 option(WITH_JAVA "Build Java Thrift library" ON)
@@ -170,7 +159,6 @@
 message(STATUS " Language libraries:")
 message(STATUS "  Build C++ library:                          ${BUILD_CPP}")
 MESSAGE_DEP(WITH_CPP "Disabled by WITH_CPP=OFF")
-MESSAGE_DEP(Boost_FOUND "Boost headers missing")
 message(STATUS "    C++ Language Level:                       ${CXX_LANGUAGE_LEVEL}")
 message(STATUS "  Build C (GLib) library:                     ${BUILD_C_GLIB}")
 MESSAGE_DEP(WITH_C_GLIB "Disabled by WITH_C_GLIB=OFF")
diff --git a/build/docker/scripts/cmake.sh b/build/docker/scripts/cmake.sh
index ccc311e..eb384d5 100755
--- a/build/docker/scripts/cmake.sh
+++ b/build/docker/scripts/cmake.sh
@@ -19,5 +19,4 @@
 done
 $MAKEPROG -j3
 cpack
-ctest -VV -E "(python_test)"
-# disabled cmake python_test for now since it fails in travis under centos
+ctest -VV
diff --git a/build/veralign.sh b/build/veralign.sh
index 61744b4..491ef36 100755
--- a/build/veralign.sh
+++ b/build/veralign.sh
@@ -49,11 +49,11 @@
 
 # These files can be updated automatically:
 FILES[ApacheThrift.nuspec]=simpleReplace
+FILES[CMakeLists.txt]=simpleReplace
 FILES[Thrift-swift3.podspec]=simpleReplace
 FILES[Thrift.podspec]=simpleReplace
 FILES[appveyor.yml]=simpleReplace
 FILES[bower.json]=jsonReplace
-FILES[build/cmake/DefineCMakeDefaults.cmake]=simpleReplace
 FILES[configure.ac]=configureReplace
 FILES[contrib/thrift.spec]=simpleReplace
 FILES[lib/cocoa/src/Thrift.h]=simpleReplace
@@ -100,7 +100,7 @@
 FILES[tutorial/hs/ThriftTutorial.cabal]=simpleReplace
 FILES[tutorial/ocaml/_oasis]=simpleReplace
 
-if [ ! -f "CHANGES" ]; then
+if [ ! -f "CHANGES.md" ]; then
     >&2 echo "error: run veralign.sh while in the thrift root directory"
     exit 1
 fi
