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