summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Add a -t missingdeps tool to detect some classes of build flakesTomasz Ĺšniatowski2021-02-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | The tool looks for targets that depend on a generated file, but do not properly specify a dependency on the generator. It needs to be run after a successful build, and will list all potential flakes that may have broken the build, but didn't due to accidental build step ordering. The search relies on the correctness of depfile and generator output information, but these are usually easier to get right than dependencies. The errors found can usually be verified as actual build flakes by trying to build the listed problematic files alone in a clean build directory. Such builds usually fail with a compile job lacking a generated file. There is some overlap between this tool and 'gn check', but not everyone uses gn, not everyone using gn uses gn check, and most importantly, gn check is more about modularity, and less about actual build-time deps without flakes. The tool needs to be run after a build completes and depfile data is collected. It may take several seconds to process, up to a dozen or two on a large, chromium-sized build.
* cmake: Use modern add_test signatureGregor Jasny2020-12-111-1/+1
| | | | | | Using this modern signature makes CMake/CTest use the effective binary path and works also with multi-config generators which put binaries in extra `Release` folders.
* Merge pull request #1876 from orgads/msvc-warningsJan Niklas Hasse2020-12-051-1/+3
|\ | | | | Suppress MSVC warnings
| * Suppress MSVC warningsOrgad Shaneh2020-11-111-1/+3
| | | | | | | | | | | | | | | | | | | | * D9025: overriding '/GR' with '/GR-' * C4100: 'argc': unreferenced formal parameter * C4244: '=': conversion from 'int' to 'char', possible loss of data (on tolower) * C4267: 'initializing': conversion from 'size_t' to 'unsigned int', possible loss of data * C4702: unreachable code (after Fatal) * C4706: assignment within conditional expression * C4996: 'strcpy': This function or variable may be unsafe
* | Merge pull request #1879 from kadler/aix-cleanupJan Niklas Hasse2020-11-141-4/+17
|\ \ | | | | | | Fix building on AIX
| * | Fix test crashes on AIXKevin Adler2020-11-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both hash_collision_bench and manifest_parser_perftest crash on AIX with terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc IOT/Abort trap (core dumped) 32-bit AIX applications by default allocates only a single 256M segment for stack and heap for 32-bit applications, which is insufficient for these tests. When building these tests on AIX in 32-bit mode, increase the max number of segments so they will run without crashing.
| * | Add libperfstat to AIX CMake buildKevin Adler2020-11-131-0/+5
| | |
| * | Use internal getopt for IBM i and AIXKevin Adler2020-11-131-4/+6
| |/
* | Fix mulit-configuration bug. This affected users who usehdf89shfdfs2020-11-131-10/+8
|/ | | | multi-configuration generators for building ninja.
* cmake: Use ${CMAKE_COMMAND} instead of `cmake`Nathan Mulcahey2020-11-031-1/+1
| | | | | Not all users have `cmake` on their PATH and this causes a build failure.
* fixup: remove unneeded CMAKE_C_FLAGSJesse Gorzinski2020-10-291-1/+0
|
* build: Add IBM i compile/link flagsJesse Gorzinski2020-10-291-0/+8
|
* cmake: add BUILD_TESTING option (ON by default) (#1839)David Callu2020-09-141-39/+41
| | | | option provided by cmake's Module CTest enable_testing() is call by this Module
* CMake: Add platform checks for browse mode supportAlastair Harrison2020-08-281-10/+25
| | | | | | | Browse mode requires a number of POSIX features to be available. This commit adds configure-time checks that the 'unistd.h' header is available and that the `inline.sh` script executes successfully. If the checks pass then browse mode is enabled.
* CMake: Add support for "browse" modeAlastair Harrison2020-08-271-0/+38
| | | | | | | | | | | | | | | | Fixes ninja-build/ninja#1822, fixes ninja-build/ninja#1853 Adds support for `ninja -t browse` to CMake builds. The platform support logic is copied from configure.py, so Windows, Solaris and AIX are treated as 'unsupported' platforms. All other platforms are assumed to be supported. As discussed in #1853, when built via CMake the `ninja` executable looks for a binary called `python` in the current path, in order to launch the "browse" mode. The behaviour differs from that of the configure.py script, which looks for a python executable that has the *same name* as the python executable that invoked the configure script.
* cmake: use PROJECT_{SOURCE,BINARY}_DIR instead of CMAKE_{SOURCE,BINARY}_DIRDavid Callu2020-07-171-3/+3
| | | | | | | | | CMAKE_SOURCE_DIR refer to the full path to the top level of the current CMake source tree PROJECT_SOURCE_DIR refer to the source directory of the last call to the project() command made in the current directory scope or one of its parents when ninja is use as a subproject, the build fail because of this.
* only apply optional flags when compiler worksMichael Hirsch, Ph.D2020-04-061-1/+12
|
* cmake: append instead of set(x ...)Michael Hirsch, Ph.D2020-02-211-2/+2
|
* cmake: remove redundant cmake_policy()Michael Hirsch, Ph.D2020-02-211-2/+0
| | | | | cmake_minimum_required(VERSION 3.15) implicitly sets to NEW all policies from CMP0094 and older
* Add install target to CMake buildrezso2020-02-081-0/+2
|
* CMake: Use static MSVC runtime, fixes #1692Jan Niklas Hasse2020-01-171-1/+3
|
* Build performance tests with CMake. Fixes #1708crondog2020-01-081-0/+12
| | | | They are only built and not run with CTest
* Enable Link Time Optimization for Release builds (#1701)Michael Jones2019-12-031-0/+13
|
* Fix warnings on mingw buildHelenerineium2019-11-231-1/+1
|
* Fixed compilation by gcc on WindowsSibi2019-11-021-0/+5
|
* CMake: Bump required version for object librariesJan Niklas Hasse2019-09-211-1/+1
|
* CMake: Let MSVC correctly report __cplusplusJan Niklas Hasse2019-09-211-1/+1
|
* CMake: Fix Windows buildJan Niklas Hasse2019-08-281-0/+7
|
* CMake: Support building without re2cJan Niklas Hasse2019-08-281-9/+15
|
* Add CMake build file as an alternative to configure.pyJan Niklas Hasse2019-08-281-0/+84