From 9b67db86a66af6cbcc587175aed6fe402aa54527 Mon Sep 17 00:00:00 2001
From: Adrian Sampson <adrian@radbox.org>
Date: Thu, 23 Jul 2015 10:36:09 -0700
Subject: [PATCH] CMake fiddling

Ugh. Maybe we can go back to add_library someday.
---
 CMakeLists.txt          | 9 +++++++++
 README.md               | 8 +++++---
 skeleton/CMakeLists.txt | 2 ++
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index bdb9697..a5cfe4b 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 c52ae66..87accfd 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 c3f8afd..6f8941c 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" )
-- 
GitLab