diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake index cccc6dc77..c07aa1227 100644 --- a/src/cmake/externalpackages.cmake +++ b/src/cmake/externalpackages.cmake @@ -192,6 +192,10 @@ if(NOT LLVM_DIRECTORY OR EXISTS ${LLVM_CONFIG}) OUTPUT_STRIP_TRAILING_WHITESPACE) endif() +if (LLVM_VERSION VERSION_GREATER 3.4.9 AND NOT OSL_BUILD_CPP11) + message (FATAL_ERROR "LLVM ${LLVM_VERSION} requires C++11. You must build with USE_CPP11=1.") +endif () + find_library ( LLVM_LIBRARY NAMES LLVM-${LLVM_VERSION} PATHS ${LLVM_LIB_DIR}) @@ -235,7 +239,6 @@ if ((LLVM_LIBRARY OR LLVM_STATIC) AND LLVM_INCLUDES AND LLVM_DIRECTORY AND LLVM_ message (STATUS "LLVM library = ${LLVM_LIBRARY}") endif () - if (NOT LLVM_LIBRARY) message (FATAL_ERROR "LLVM library not found.") endif() diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp index ce34b6511..949d6a06f 100644 --- a/src/liboslexec/llvm_util.cpp +++ b/src/liboslexec/llvm_util.cpp @@ -32,6 +32,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "OSL/oslconfig.h" #include "OSL/llvm_util.h" +#if OSL_LLVM_VERSION >= 35 && ! OSL_BUILD_CPP11 +#error "LLVM >= 3.5 requires USE_CPP11=1" +#endif + #ifndef USE_MCJIT // MCJIT first appeared with LLVM 3.3 # define USE_MCJIT (OSL_LLVM_VERSION>=33)