diff options
author | Oscar Fuentes <ofv@wanadoo.es> | 2011-03-02 17:47:37 +0000 |
---|---|---|
committer | Oscar Fuentes <ofv@wanadoo.es> | 2011-03-02 17:47:37 +0000 |
commit | 0dddbc3d1be415afafffff8c95b8e1d7a1631106 (patch) | |
tree | 6830a2e872fb8c079170b2cd7f2bd0a54969d3c1 /cmake | |
parent | a20244d1bab2ae6dad1c82c16670d7eb1b3a9087 (diff) | |
download | llvm-0dddbc3d1be415afafffff8c95b8e1d7a1631106.tar.gz llvm-0dddbc3d1be415afafffff8c95b8e1d7a1631106.tar.bz2 llvm-0dddbc3d1be415afafffff8c95b8e1d7a1631106.tar.xz |
Support for parallel compilation (/MP) when using the VS IDE.
Patch by Erik Olofsson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126847 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/HandleLLVMOptions.cmake | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index f62e86ae49..21ec5f23e7 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -102,6 +102,31 @@ if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 ) endif( LLVM_BUILD_32_BITS ) endif( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 ) +message(STATUS "uno" +"dos") +if( MSVC_IDE AND ( MSVC90 OR MSVC10 ) ) + # Only Visual Studio 2008 and 2010 officially supports /MP. + # Visual Studio 2005 do support it but it's experimental there. + set(LLVM_COMPILER_JOBS "0" CACHE STRING + "Number of parallel compiler jobs. 0 means use all processors. Default is 0.") + if( NOT LLVM_COMPILER_JOBS STREQUAL "1" ) + if( LLVM_COMPILER_JOBS STREQUAL "0" ) + add_llvm_definitions( /MP ) + else() + if (MSVC10) + message(FATAL_ERROR + "Due to a bug in CMake only 0 and 1 is supported for " + "LLVM_COMPILER_JOBS when generating for Visual Studio 2010") + else() + message(STATUS "Number of parallel compiler jobs set to " ${LLVM_COMPILER_JOBS}) + add_llvm_definitions( /MP${LLVM_COMPILER_JOBS} ) + endif() + endif() + else() + message(STATUS "Parallel compilation disabled") + endif() +endif() + if( MSVC ) include(ChooseMSVCCRT) |