diff --git a/skeleton/CMakeLists.txt b/skeleton/CMakeLists.txt index e3518045132a78d4507e42f91dcecbfbb45e4947..ce2ee18a91f51092af0edcf20fbb4f9c55c7c8dd 100644 --- a/skeleton/CMakeLists.txt +++ b/skeleton/CMakeLists.txt @@ -3,7 +3,18 @@ add_library(SkeletonPass MODULE Skeleton.cpp ) +# Use C++11 to compile our pass (i.e., supply -std=c++11). +target_compile_features(SkeletonPass PRIVATE cxx_range_for cxx_auto_type) + +# LLVM is (typically) built with no C++ RTTI. We need to match that. set_target_properties(SkeletonPass PROPERTIES - COMPILE_FLAGS "-std=c++11 -fno-rtti" - LINK_FLAGS "-undefined dynamic_lookup" + COMPILE_FLAGS "-fno-rtti" ) + +# Get proper shared-library behavior (where symbols are not necessarily +# resolved when the shared library is linked) on OS X. +if(APPLE) + set_target_properties(SkeletonPass PROPERTIES + LINK_FLAGS "-undefined dynamic_lookup" + ) +endif(APPLE)