43 lines
1.3 KiB
CMake
43 lines
1.3 KiB
CMake
#------------------------------------------------------------------------------
|
|
# CLING - the C++ LLVM-based InterpreterG :)
|
|
#
|
|
# This file is dual-licensed: you can choose to license it under the University
|
|
# of Illinois Open Source License or the GNU Lesser General Public License. See
|
|
# LICENSE.TXT for details.
|
|
#------------------------------------------------------------------------------
|
|
|
|
cmake_minimum_required(VERSION 3.5)
|
|
|
|
# Keep symbols for JIT resolution
|
|
set(LLVM_NO_DEAD_STRIP 1)
|
|
|
|
# Cling needs at least C++17; so does this demo.
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
if (CMAKE_PROJECT_NAME)
|
|
# Building as part of cling; all CMake variables are set.
|
|
else()
|
|
# Building as separate project.
|
|
project(cling-demo)
|
|
|
|
# This project needs cling.
|
|
find_package(cling REQUIRED)
|
|
endif()
|
|
|
|
# The project has one binary:
|
|
add_executable(cling-demo cling-demo.cpp)
|
|
|
|
# ...which links against clingInterpreter (and its dependencies).
|
|
target_link_libraries(cling-demo clingInterpreter)
|
|
|
|
# Provide LLVMDIR to cling-demp.cpp:
|
|
target_compile_options(cling-demo PUBLIC -DLLVMDIR="${LLVM_INSTALL_PREFIX}" -I${LLVM_INSTALL_PREFIX}/include)
|
|
|
|
set_target_properties(cling-demo
|
|
PROPERTIES ENABLE_EXPORTS 1)
|
|
|
|
if(MSVC)
|
|
set_target_properties(cling-demo PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS 1)
|
|
endif()
|