build/cmake: Move all the user controllable options into top-level CMakeLists

for consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143728 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2011-11-04 19:04:35 +00:00
parent b0d9ce567f
commit c8f399d0c7
2 changed files with 37 additions and 13 deletions

View File

@ -151,6 +151,39 @@ else()
option(LLVM_ENABLE_ASSERTIONS "Enable assertions" ON) option(LLVM_ENABLE_ASSERTIONS "Enable assertions" ON)
endif() endif()
# Define an option controlling whether we should build for 32-bit on 64-bit
# platforms, where supported.
if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
# TODO: support other platforms and toolchains.
option(LLVM_BUILD_32_BITS "Build 32 bits executables and libraries." OFF)
endif()
# Define an option controlling whether or not we include the test targets in the
# project.
option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)
# Define the default arguments to use with 'lit', and an option for the user to
# override.
set(LIT_ARGS_DEFAULT "-sv")
if (MSVC OR XCODE)
set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar")
endif()
set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}" CACHE STRING "Default options for lit")
# On Win32/Cygwin, provide an option to specify the path to the GnuWin32 tools.
if( WIN32 AND CYGWIN )
set(LLVM_LIT_TOOLS_DIR "" CACHE PATH "Path to GnuWin32 tools")
endif()
# On Win32 using MS tools, provide an option to set the number of parallel jobs
# to use.
if( MSVC_IDE AND ( MSVC90 OR MSVC10 ) )
# Only Visual Studio 2008 and 2010 officially supports /MP. Visual Studio
# 2005 supports it but it is experimental.
set(LLVM_COMPILER_JOBS "0" CACHE STRING
"Number of parallel compiler jobs. 0 means use all processors. Default is 0.")
endif()
# All options referred to from HandleLLVMOptions have to be specified # All options referred to from HandleLLVMOptions have to be specified
# BEFORE this include, otherwise options will not be correctly set on # BEFORE this include, otherwise options will not be correctly set on
# first cmake run # first cmake run

View File

@ -1,3 +1,7 @@
# This CMake module is responsible for interpreting the user defined LLVM_
# options and executing the appropriate CMake commands to realize the users'
# selections.
include(AddLLVMDefinitions) include(AddLLVMDefinitions)
if( CMAKE_COMPILER_IS_GNUCXX ) if( CMAKE_COMPILER_IS_GNUCXX )
@ -20,13 +24,6 @@ else()
set(RUNTIME_BUILD_MODE "${CMAKE_CFG_INTDIR}") set(RUNTIME_BUILD_MODE "${CMAKE_CFG_INTDIR}")
endif() endif()
set(LIT_ARGS_DEFAULT "-sv")
if (MSVC OR XCODE)
set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar")
endif()
set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}"
CACHE STRING "Default options for lit")
if( LLVM_ENABLE_ASSERTIONS ) if( LLVM_ENABLE_ASSERTIONS )
# MSVC doesn't like _DEBUG on release builds. See PR 4379. # MSVC doesn't like _DEBUG on release builds. See PR 4379.
if( NOT MSVC ) if( NOT MSVC )
@ -52,9 +49,6 @@ if(WIN32)
else(CYGWIN) else(CYGWIN)
set(LLVM_ON_WIN32 1) set(LLVM_ON_WIN32 1)
set(LLVM_ON_UNIX 0) set(LLVM_ON_UNIX 0)
# This is effective only on Win32 hosts to use gnuwin32 tools.
set(LLVM_LIT_TOOLS_DIR "" CACHE PATH "Path to GnuWin32 tools")
endif(CYGWIN) endif(CYGWIN)
set(LTDL_SHLIB_EXT ".dll") set(LTDL_SHLIB_EXT ".dll")
set(EXEEXT ".exe") set(EXEEXT ".exe")
@ -99,7 +93,6 @@ endif()
if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 ) if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
# TODO: support other platforms and toolchains. # TODO: support other platforms and toolchains.
option(LLVM_BUILD_32_BITS "Build 32 bits executables and libraries." OFF)
if( LLVM_BUILD_32_BITS ) if( LLVM_BUILD_32_BITS )
message(STATUS "Building 32 bits executables and libraries.") message(STATUS "Building 32 bits executables and libraries.")
add_llvm_definitions( -m32 ) add_llvm_definitions( -m32 )
@ -189,5 +182,3 @@ endif( MSVC )
add_llvm_definitions( -D__STDC_CONSTANT_MACROS ) add_llvm_definitions( -D__STDC_CONSTANT_MACROS )
add_llvm_definitions( -D__STDC_FORMAT_MACROS ) add_llvm_definitions( -D__STDC_FORMAT_MACROS )
add_llvm_definitions( -D__STDC_LIMIT_MACROS ) add_llvm_definitions( -D__STDC_LIMIT_MACROS )
option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)