llvm-capstone/llvm/cmake/modules
jusito 7b9fa2146e
[cmake] Option to create Ninja job pools depending on available resources (#65274)
This PR adds options to let CMake calculate the ninja job pools
depending on free memory and available cores.
You can provide memory requirements for each compile and link job which
is checked against CMake AVAILABLE_PHYSICAL_MEMORY and
NUMBER_OF_LOGICAL_CORES. [This information are available since CMake
3.0](https://cmake.org/cmake/help/v3.0/command/cmake_host_system_information.html).

This is very helpful in CI environments with multiple jobs per
environment or a VM with multiple users.
Its different to LLVM_PARALLEL_LINK_JOBS / LLVM_PARALLEL_COMPILE_JOBS
(or ninja -j 1) because it tries to use the resources more efficient
without being terminated. Only downside currently is that compile and
link jobs can run at the same time so there is an offset for link job
memory suggested which is added to the documentation.

The definitions aren't added as cache because if I understand it
correctly this would break it because values could be outdated.
2023-10-20 22:37:51 +05:30
..
AddLLVM.cmake [CMake] Avoid build spam by switching to Debug message (#69497) 2023-10-19 23:52:18 -07:00
AddOCaml.cmake Revert "[cmake] Use CMAKE_INSTALL_LIBDIR too" 2022-08-18 22:46:32 -04:00
AddSphinxTarget.cmake [CMake] Replace list(FIND) by if(IN_LIST) where index isn't used 2023-01-23 23:59:31 +01:00
CheckAtomic.cmake Set LLVM_ATOMIC_LIB variable for convenient linking against libatomic 2022-11-03 21:07:43 +01:00
CheckCompilerVersion.cmake [docs] Bump minimum GCC version to 7.4 2023-07-31 13:10:08 -07:00
CheckProblematicConfigurations.cmake
CMakeLists.txt [cmake] Fix path to LLVMConfig.cmake for multi-config builds 2023-01-13 20:32:59 +01:00
CoverageReport.cmake [NFC] Fixing spelling in code comment 2022-11-14 10:28:36 -06:00
CrossCompile.cmake [CMake] Use LLVM own tools in extract_symbols.py 2023-05-15 16:20:19 -07:00
DetermineGCCCompatible.cmake CMake is funky on detecting Intel 17 as GCC compatible. 2017-01-26 23:50:18 +00:00
FindFFI.cmake [llvm][CMake] Check dependency cxx source compiles (#68549) 2023-10-18 09:03:04 -07:00
FindLibEdit.cmake [CMake] Install FindLibEdit find module 2023-05-04 13:33:52 +00:00
FindLibpfm.cmake [llvm-exegesis] Check perf_branch_entry for field cycles 2020-07-27 11:31:13 -04:00
FindOCaml.cmake
FindSphinx.cmake
FindTerminfo.cmake [llvm][CMake] Check dependency cxx source compiles (#68549) 2023-10-18 09:03:04 -07:00
FindZ3.cmake [CMake][Z3]Don't attempt to compile / run if cross-compiling (#66355) 2023-09-15 12:57:33 +02:00
Findzstd.cmake [cmake] Fix Findzstd.cmake to handle OpenBSD shared libraries 2022-11-23 06:50:53 +01:00
GenerateVersionFromVCS.cmake [cmake] Add LLVM_FORCE_VC_REVISION option (#67125) 2023-09-25 14:32:52 +01:00
GetErrcMessages.cmake
GetHostTriple.cmake [CMake] Make the vendor part of default mingw triples consistent 2021-08-12 13:27:09 +03:00
GetLibraryName.cmake [CMake] Simplify CMake handling for libxml2 2020-09-09 21:44:44 -07:00
HandleLLVMOptions.cmake [cmake] Option to create Ninja job pools depending on available resources (#65274) 2023-10-20 22:37:51 +05:30
HandleLLVMStdlib.cmake [CMake][llvm] avoid conflict w/ (and use when available) new builtin check_linker_flag 2021-04-27 16:41:28 -07:00
LLVM-Build.cmake
LLVM-Config.cmake [CMake] Quote variables where "TARGET" may be a value 2023-06-06 02:08:45 +01:00
llvm-driver-template.cpp.in [llvm-driver] Reinvoke clang as described by llvm driver extra args 2023-02-10 19:42:32 +00:00
LLVMCheckLinkerFlag.cmake Revert "[CMake] Unify llvm_check_linker_flag and llvm_check_compiler_linker_flag" 2023-02-22 17:32:07 +00:00
LLVMConfig.cmake.in [llvm][objdump] Remove support for printing the embedded Bitcode section in MachO files. (#68457) 2023-10-09 15:03:29 -07:00
LLVMConfigVersion.cmake.in Revert "[CMake] Use write_basic_package_version_file for LLVM" 2021-03-29 13:07:39 -07:00
LLVMDistributionSupport.cmake
LLVMExternalProjectUtils.cmake [CMake] Ensure CLANG_RESOURCE_DIR is respected. 2023-06-03 04:21:35 -07:00
LLVMInstallSymlink.cmake Use LLVM_USE_SYMLINKS option in install_symlink 2023-03-08 07:26:27 +00:00
LLVMProcessSources.cmake LLVMProcessSources.cmake: Improve PARTIAL_SOURCES_INTENDED. 2023-02-12 20:12:37 +09:00
TableGen.cmake add_tablegen: Quick fix to reflect LLVM_TABLEGEN to llvm-min-tblgen 2023-05-02 17:05:42 +09:00
TensorFlowCompile.cmake [cmake] Stop using add_definitions 2023-01-24 08:27:04 +00:00
UseLibtool.cmake
VersionFromVCS.cmake Make ninja smart console builds more pretty 2020-06-22 06:35:13 -04:00