From 5fe5203c23959658907c4b6388de6b14a2aba902 Mon Sep 17 00:00:00 2001 From: Oscar Fuentes Date: Mon, 25 Jul 2011 17:25:10 +0000 Subject: [PATCH] Builds llvmc and its examples with CMake. Patch by arrowdodger! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135919 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvmc/CMakeLists.txt | 6 +++++- tools/llvmc/examples/CMakeLists.txt | 4 ++++ tools/llvmc/examples/Hello/CMakeLists.txt | 4 ++++ tools/llvmc/examples/Simple/CMakeLists.txt | 10 ++++++++++ tools/llvmc/examples/Skeleton/CMakeLists.txt | 11 +++++++++++ tools/llvmc/examples/mcc16/CMakeLists.txt | 11 +++++++++++ tools/llvmc/src/CMakeLists.txt | 19 +++++++++++++++++++ 7 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 tools/llvmc/examples/CMakeLists.txt create mode 100644 tools/llvmc/examples/Hello/CMakeLists.txt create mode 100644 tools/llvmc/examples/Simple/CMakeLists.txt create mode 100644 tools/llvmc/examples/Skeleton/CMakeLists.txt create mode 100644 tools/llvmc/examples/mcc16/CMakeLists.txt create mode 100644 tools/llvmc/src/CMakeLists.txt diff --git a/tools/llvmc/CMakeLists.txt b/tools/llvmc/CMakeLists.txt index 10ad5d82009..ff7cbae4837 100644 --- a/tools/llvmc/CMakeLists.txt +++ b/tools/llvmc/CMakeLists.txt @@ -1,4 +1,8 @@ -# add_subdirectory(src) +add_subdirectory(src) # TODO: support plugins and user-configured builds. # See ./doc/LLVMC-Reference.rst "Customizing LLVMC: the compilation graph" + +if( LLVM_INCLUDE_EXAMPLES ) + add_subdirectory(examples) +endif() diff --git a/tools/llvmc/examples/CMakeLists.txt b/tools/llvmc/examples/CMakeLists.txt new file mode 100644 index 00000000000..2ad8aa4dc45 --- /dev/null +++ b/tools/llvmc/examples/CMakeLists.txt @@ -0,0 +1,4 @@ +add_subdirectory(Hello) +add_subdirectory(Simple) +add_subdirectory(mcc16) +add_subdirectory(Skeleton) diff --git a/tools/llvmc/examples/Hello/CMakeLists.txt b/tools/llvmc/examples/Hello/CMakeLists.txt new file mode 100644 index 00000000000..5679924bdb3 --- /dev/null +++ b/tools/llvmc/examples/Hello/CMakeLists.txt @@ -0,0 +1,4 @@ +set(LLVM_USED_LIBS CompilerDriver) +set(LLVM_LINK_COMPONENTS support) + +add_llvm_example(Hello Hello.cpp) diff --git a/tools/llvmc/examples/Simple/CMakeLists.txt b/tools/llvmc/examples/Simple/CMakeLists.txt new file mode 100644 index 00000000000..8a401ea42ae --- /dev/null +++ b/tools/llvmc/examples/Simple/CMakeLists.txt @@ -0,0 +1,10 @@ +set(LLVM_TARGET_DEFINITIONS Simple.td) + +tablegen(Simple.inc -gen-llvmc) + +set(LLVM_USED_LIBS CompilerDriver) +set(LLVM_LINK_COMPONENTS support) + +add_llvm_example(Simple + Simple.cpp + ) diff --git a/tools/llvmc/examples/Skeleton/CMakeLists.txt b/tools/llvmc/examples/Skeleton/CMakeLists.txt new file mode 100644 index 00000000000..e1296ca8148 --- /dev/null +++ b/tools/llvmc/examples/Skeleton/CMakeLists.txt @@ -0,0 +1,11 @@ +set(LLVM_TARGET_DEFINITIONS AutoGenerated.td) + +tablegen(AutoGenerated.inc -gen-llvmc) + +set(LLVM_USED_LIBS CompilerDriver) +set(LLVM_LINK_COMPONENTS support) + +add_llvm_example(llvmc-skeleton + Hooks.cpp + Main.cpp + ) diff --git a/tools/llvmc/examples/mcc16/CMakeLists.txt b/tools/llvmc/examples/mcc16/CMakeLists.txt new file mode 100644 index 00000000000..f9eeb03d41c --- /dev/null +++ b/tools/llvmc/examples/mcc16/CMakeLists.txt @@ -0,0 +1,11 @@ +set(LLVM_TARGET_DEFINITIONS PIC16.td) + +tablegen(PIC16.inc -gen-llvmc) + +set(LLVM_USED_LIBS CompilerDriver) +set(LLVM_LINK_COMPONENTS support) + +add_llvm_example(mcc16 + Hooks.cpp + Main.cpp + ) diff --git a/tools/llvmc/src/CMakeLists.txt b/tools/llvmc/src/CMakeLists.txt new file mode 100644 index 00000000000..e6c8917748b --- /dev/null +++ b/tools/llvmc/src/CMakeLists.txt @@ -0,0 +1,19 @@ +set(LLVMGCCCOMMAND llvm-gcc) +set(LLVMGXXCOMMAND llvm-g++) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/Base.td.in + ${CMAKE_CURRENT_BINARY_DIR}/Base.td + @ONLY) + +set(LLVM_TARGET_DEFINITIONS AutoGenerated.td) + +tablegen(AutoGenerated.inc -gen-llvmc) + +set(LLVM_USED_LIBS CompilerDriver) +set(LLVM_LINK_COMPONENTS support) + +add_llvm_tool(llvmc + Hooks.cpp + Main.cpp + )