X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FCMake.html;h=c88b12490218fc479dc74f0089055f8ad1ebf94b;hb=4962e6143186f6168f5d0ee979bf047651a13124;hp=190d102c83284203bfa506f32216db51c1ab063e;hpb=0a984f8e628e44ca72755aab793f264256723271;p=oota-llvm.git diff --git a/docs/CMake.html b/docs/CMake.html index 190d102c832..c88b1249021 100644 --- a/docs/CMake.html +++ b/docs/CMake.html @@ -68,7 +68,7 @@
  1. Download - and install CMake. Version 2.6.2 is the minimum required.

    + and install CMake. Version 2.8 is the minimum required.

  2. Open a shell. Your development tools must be reachable from this shell through the PATH environment variable.

    @@ -251,10 +251,46 @@ -DLLVM_TARGETS_TO_BUILD="X86;PowerPC;Alpha".
    LLVM_BUILD_TOOLS:BOOL
    -
    Build LLVM tools. Defaults to ON.
    +
    Build LLVM tools. Defaults to ON. Targets for building each tool + are generated in any case. You can build an tool separately by + invoking its target. For example, you can build llvm-as + with a makefile-based system executing make llvm-as on the + root of your build directory.
    + +
    LLVM_INCLUDE_TOOLS:BOOL
    +
    Generate build targets for the LLVM tools. Defaults to + ON. You can use that option for disabling the generation of build + targets for the LLVM tools.
    LLVM_BUILD_EXAMPLES:BOOL
    -
    Build LLVM examples. Defaults to OFF.
    +
    Build LLVM examples. Defaults to OFF. Targets for building each + example are generated in any case. See documentation + for LLVM_BUILD_TOOLS above for more details.
    + +
    LLVM_INCLUDE_EXAMPLES:BOOL
    +
    Generate build targets for the LLVM examples. Defaults to + ON. You can use that option for disabling the generation of build + targets for the LLVM examples.
    + +
    LLVM_BUILD_TESTS:BOOL
    +
    Build LLVM unit tests. Defaults to OFF. Targets for building + each unit test are generated in any case. You can build a specific + unit test with the target UnitTestNameTests (where at this + time UnitTestName can be ADT, Analysis, ExecutionEngine, + JIT, Support, Transform, VMCore; see the subdirectories + of unittests for an updated list.) It is possible to build + all unit tests with the target UnitTests.
    + +
    LLVM_INCLUDE_TESTS:BOOL
    +
    Generate build targets for the LLVM unit tests. Defaults to + ON. You can use that option for disabling the generation of build + targets for the LLVM unit tests.
    + +
    LLVM_APPEND_VC_REV:BOOL
    +
    Append version control revision info (svn revision number or git + revision id) to LLVM version string (stored in the PACKAGE_VERSION + macro). For this to work cmake must be invoked before the + build. Defaults to OFF.
    LLVM_ENABLE_THREADS:BOOL
    Build with threads support, if available. Defaults to ON.
    @@ -268,10 +304,21 @@ compiler supports this flag. Some systems, like Windows, do not need this flag. Defaults to ON. +
    LLVM_ENABLE_WARNINGS:BOOL
    +
    Enable all compiler warnings. Defaults to ON.
    + +
    LLVM_ENABLE_PEDANTIC:BOOL
    +
    Enable pedantic mode. This disable compiler specific extensions, is + possible. Defaults to ON.
    + +
    LLVM_ENABLE_WERROR:BOOL
    +
    Stop and fail build, if a compiler warning is + triggered. Defaults to OFF.
    +
    LLVM_BUILD_32_BITS:BOOL
    Build 32-bits executables and libraries on 64-bits systems. This - option is available only on some 64-bits unix systems. Defaults to - OFF.
    + option is available only on some 64-bits unix systems. Defaults to + OFF.
    LLVM_TARGET_ARCH:STRING
    LLVM target to use for native code generation. This is required @@ -284,6 +331,25 @@
    Full path to a native TableGen executable (usually named tblgen). This is intented for cross-compiling: if the user sets this variable, no native TableGen will be created.
    + +
    LLVM_LIT_ARGS:STRING
    +
    Arguments given to lit. + make check and make clang-test are affected. + By default, "-sv --no-progress-bar" + on Visual C++ and Xcode, + "-sv" on others.
    + +
    LLVM_LIT_TOOLS_DIR:STRING
    +
    The path to GnuWin32 tools for tests. Valid on Windows host. + Defaults to "", then Lit seeks tools according to %PATH%. + Lit can find tools(eg. grep, sort, &c) on LLVM_LIT_TOOLS_DIR at first, + without specifying GnuWin32 to %PATH%.
    + +
    LLVM_ENABLE_FFI:BOOL
    +
    Indicates whether LLVM Interpreter will be linked with Foreign + Function Interface library. If the library or its headers are + installed on a custom location, you can set the variables + FFI_INCLUDE_DIR and FFI_LIBRARY_DIR. Defaults to OFF.
    @@ -296,9 +362,15 @@
    -

    LLVM testing is not supported on Visual Studio.

    +

    Testing is performed when the check target is built. For + instance, if you are using makefiles, execute this command while on + the top level of your build directory:

    -

    TODO

    +
    +

    make check

    +
    + +

    On Visual Studio, you may run tests to build the project "check".

    @@ -331,7 +403,38 @@
    -

    TODO

    +

    The most difficult part of adding LLVM to the build of a project + is to determine the set of LLVM libraries corresponding to the set + of required LLVM features. What follows is an example of how to + obtain this information:

    + +
    +
    +    # A convenience variable:
    +    set(LLVM_ROOT "" CACHE PATH "Root of LLVM install.")
    +    # A bit of a sanity check:
    +    if( NOT EXISTS ${LLVM_ROOT}/include/llvm )
    +    message(FATAL_ERROR "LLVM_ROOT (${LLVM_ROOT}) is not a valid LLVM install")
    +    endif()
    +    # We incorporate the CMake features provided by LLVM:
    +    set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${LLVM_ROOT}/share/llvm/cmake")
    +    include(LLVM)
    +    # Now set the header and library paths:
    +    include_directories( ${LLVM_ROOT}/include )
    +    link_directories( ${LLVM_ROOT}/lib )
    +    # Let's suppose we want to build a JIT compiler with support for
    +    # binary code (no interpreter):
    +    llvm_map_components_to_libraries(REQ_LLVM_LIBRARIES jit native)
    +    # Finally, we link the LLVM libraries to our executable:
    +    target_link_libraries(mycompiler ${REQ_LLVM_LIBRARIES})
    +    
    +
    + +

    This assumes that LLVM_ROOT points to an install of LLVM. The + procedure works too for uninstalled builds although we need to take + care to add an include_directories for the location of the + headers on the LLVM source directory (if we are building + out-of-source.)

    @@ -349,6 +452,22 @@ + + +
    + +
    +
    LLVM_COMPILER_JOBS:STRING
    +
    Specifies the maximum number of parallell compiler jobs to use + per project when building with msbuild or Visual Studio. Only supported for + Visual Studio 2008 and Visual Studio 2010 CMake generators. 0 means use all + processors. Default is 0.
    +
    + +
    +
    @@ -360,7 +479,7 @@ Oscar Fuentes
    LLVM Compiler Infrastructure
    - Last modified: $Date: 2008-12-31 03:59:36 +0100 (Wed, 31 Dec 2008) $ + Last modified: $Date: 2010-08-09 03:59:36 +0100 (Mon, 9 Aug 2010) $