diff --git a/CMakeLists.txt b/CMakeLists.txt
index bdb9697574b66eda4f50253d36ac8fe5a1aa3a7d..a5cfe4bc5922f3b95888ebab155e503fa56ac1ef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,9 +1,18 @@
 find_package(LLVM REQUIRED CONFIG)
 
 list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}")
+
+# Workarounds.
+# http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-January/081050.html
+set(LLVM_ENABLE_PLUGINS ON)
+set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
+set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib)
+set(LLVM_PLUGIN_EXT "so")
+
 include(AddLLVM)
 
 add_definitions(${LLVM_DEFINITIONS})
 include_directories(${LLVM_INCLUDE_DIRS})
+link_directories(${LLVM_LIBRARY_DIRS})
 
 add_subdirectory(skeleton)  # Use your pass name here.
diff --git a/README.md b/README.md
index c52ae6670b2038c19ce976353b583e47b184d283..87accfdf4d2ebaf5671f89afbd1c58a5b5f84d8f 100644
--- a/README.md
+++ b/README.md
@@ -7,9 +7,11 @@ Build:
     $ cd llvm-pass-skeleton
     $ mkdir build
     $ cd build
-    $ cmake ..  # Generate the Makefile.
-    $ make  # Actually build the pass.
+    $ cmake ..
+    $ make
+    $ cd ..
 
 Run:
 
-    $ 
+    $ clang -emit-llvm -c -o something.bc something.c
+    $ opt -load build/skeleton/SkeletonPass.* -skeleton something.bc
diff --git a/skeleton/CMakeLists.txt b/skeleton/CMakeLists.txt
index c3f8afd11cac78c8eb5f0f96a7062215d5b0a8bb..6f8941ce985ef2a9ab4705379d367ea7fbc342c3 100644
--- a/skeleton/CMakeLists.txt
+++ b/skeleton/CMakeLists.txt
@@ -2,3 +2,5 @@ add_llvm_loadable_module(SkeletonPass
     # List your source files here.
     Skeleton.cpp
 )
+
+set_target_properties(SkeletonPass PROPERTIES COMPILE_FLAGS "-std=c++11" )