aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/cmake
AgeCommit message (Collapse)AuthorFilesLines
2020-10-24cmake: set CMP0054 to new in preload.cmakeDaniel Mensinger1-0/+5
https://cmake.org/cmake/help/latest/policy/CMP0054.html
2020-10-24cmake: Disable the new (CMake 3.16) PCH supportDaniel Mensinger2-0/+18
Subprojects that use the CMake PCH feature will cause compilation/linker errors. The CMake PCH support should thus be disabled until this can be properly translated to meson.
2020-10-24cmake: Always create missing includes in build dirDaniel Mensinger1-4/+1
There really isn't any reason to not always create missing include directories inside the build dir. Just restricting this to generate generated sources should work in an ideal world, however, there exists lots of suboptimal CMake code where this assumption is not always true.
2020-10-16cmake: Ignore additional internal CMake variablesDaniel Mensinger1-0/+9
2020-10-16cmake: ignore CMAKE_TOOLCHAIN_FILE and CMAKE_PROJECT_INCLUDE to avoid ↵Daniel Mensinger3-2/+30
conflicts with the meson CMake logic
2020-10-13cmake: Add cross compilation supportDaniel Mensinger6-243/+292
2020-10-04pathlib: Fix resolve() by overriding it in Python 3.5Daniel Mensinger6-6/+7
2020-10-04cmake: switch to pathlib (fixes #7322)Daniel Mensinger6-247/+246
2020-09-28typing: fully annotate cmake.interpreterDaniel Mensinger1-171/+198
2020-09-28typing: fully annotate cmake.traceparserDaniel Mensinger1-32/+45
2020-09-28typing: fully annotate cmake.generatorDaniel Mensinger1-1/+2
2020-09-28typing: fully annotate cmake.fileapiDaniel Mensinger1-10/+14
2020-09-28typing: fully annotate cmake.executorDaniel Mensinger1-31/+35
2020-09-27typing: fully annotate cmake.commonDaniel Mensinger2-42/+50
2020-09-27typing: fully annotate cmake.clientDaniel Mensinger1-35/+43
2020-09-10cmake: fix shared_module dependency (fixes #7715)Daniel Mensinger1-0/+4
2020-08-30CMake module: fix cmake 3.10 compatibility in path generationSebastian Würl1-4/+4
2020-08-30CMake module: fix python 3.6 compatibility in path generationSebastian Würl1-2/+2
2020-08-30CMake module: Allow paths of generated CMake sources for include directoriesSebastian Würl1-3/+11
2020-08-22cmake: Fix detection of AppleClangDylan Baker1-6/+19
It's not enough to detect that the linker is ld64: gcc, icc, and vanilla clang all use ld64 on macoOS. Instead we have to detect the class of the compiler, and determine if it's an Apple Compiler or a vanilla one.
2020-08-12cmake: Use a mapping when writing compiler IDNirbheek Chauhan1-1/+26
Meson and CMake compiler ids are different. This commit adds a mapping from the meson list: https://mesonbuild.com/Reference-tables.html#compiler-ids to the CMake list: https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html The mapping is not 1-1, and not all entries are mapped, so this is a best-effort attempt. Fallback to GNU as before to try to limp along and hope that the build files don't rely on an accurate compiler ID.
2020-08-12cmake: Fix hard-coded values in fake CMakeLists for MSVCNirbheek Chauhan1-16/+28
Without this, MSVC and MSVC_VERSION won't be set by CMake during platform detection, and the compiler will be an undefined mixture of GNU and MSVC. In particular, find_package(opencv) will fail on Windows when building with MSVC.
2020-08-09cmake: Detect custom command targets in compiler argsDaniel Mensinger1-1/+8
This is required to make `-include /path/to/custom/target.hpp` work. This setup is used by wxWidgets and this PR is required to use wxWidgets as a CMake subproject.
2020-08-07cmake: make the traceparser permissive by default (fixes #7501)Daniel Mensinger1-1/+1
2020-08-05Merge pull request #7527 from mensinda/cnFixExeJussi Pakkanen2-4/+16
cmake: resolve IMPORTED executables in custom commands (fixes #7509)
2020-08-05cmake: Do not split CMAKE_PREFIX_PATH with ':' on WindowsNirbheek Chauhan1-1/+6
This is obviously wrong, since on Windows ':' is in the drive letter. Causes us to call cmake with `-DCMAKE_PREFIX_PATH=c;\foo\bar`.
2020-08-03cmake: resolve IMPORTED executables in custom commands (fixes #7509)Daniel Mensinger2-4/+16
2020-07-16mdata: remove setuptools and use mesondata insteadDaniel Mensinger1-3/+2
2020-07-01Merge pull request #7231 from mensinda/cmOverrideJussi Pakkanen3-9/+112
cmake: Add more advanced subproject configuration options
2020-06-30Move mesonbuild/cmake/data/run_ctgt.py to ↵georgev932-101/+3
mesonbuild/scripts/cmake_run_ctgt.py, as well as enclose everything in a run() function so it can be called by `meson --internal cmake_run_ctgt ...`. Also, include mesonbuild/cmake/data/ in the msi package.
2020-06-13cmake: fix definitions with interface libraries (fixes #7299)Daniel Mensinger1-7/+6
2020-06-13cmake: Fix handling of path seperators (fixes #7294)Daniel Mensinger1-1/+1
2020-06-12dependencies: Don't allow using the default binary for host on cross compilesDylan Baker1-1/+1
Otherwise we can end up finding dependencies from the build machine for the host machine, which is incorrect. This alters cmake, pkg-config, and all config-tool based dependencies. Fixes: #7276
2020-06-12cmake: Use shared find_external_program instead of open codingDylan Baker1-22/+5
2020-06-12cmake: Subprojects support CMAKE_PREFIX_PATH (fixes #7249)Daniel Mensinger1-0/+22
2020-06-09cmake_traceparser: ignore parse errorMichael Hirsch1-1/+1
2020-06-05cmake: Add more advanced subproject configuration optionsDaniel Mensinger3-9/+112
This is done with the new cmake subprojects options object that is similar to the already exisiting configuration data object. It is consumed by the new `options` kwarg of the cmake.subproject function.
2020-06-02cmake: always split property lists (fixes #7228)Daniel Mensinger2-3/+4
2020-05-24fix cmake target configuration selection.Alexander Neumann1-3/+10
2020-05-15cmake: Print supported stds when warningNirbheek Chauhan1-2/+4
This was helpful while debugging CI failure on the 0.54 branch due to a difference in the structure of self.env.coredata.compiler_options: https://github.com/mesonbuild/meson/runs/674391139 https://travis-ci.org/github/mesonbuild/meson/jobs/686982807
2020-05-14cmake: Fix string substitution index errorNirbheek Chauhan1-2/+2
``` File "mesonbuild/cmake/interpreter.py", line 293, in postprocess 'Unknown {}_std "{}" -> Ingoring. Try setting the project' IndexError: Replacement index 2 out of range for positional args tuple ```
2020-05-12cmake: Ignore unknown c(pp)? stds (fixes #7104)Daniel Mensinger1-1/+16
2020-05-08More robust cmake version detectionReza Housseini1-1/+1
2020-04-28Adding a conditional case in _guess_files to confirm that the complete path ↵georgev931-1/+16
is put together in even if a portion of the path is a location that exists. For instance if C:/Program Files (x86)/folder is passed to _guess_files, it would resolve to ['C:/Program Files', '(x86)/folder'] since C:/Program Files is an actual file location that can exist.
2020-04-24Adjust regex to handle cases such as C:/Program Files/foldergeorgev931-1/+1
2020-04-22Issue: 7009: CMake/Centos7 Unable to find CMake even though it is installedAlexandre Lavigne1-1/+1
On some systems the binary 'cmake' for version 3 is named 'cmake3', therefor printing its version number prints: 'cmake3 version X.Y.Z' instead of 'cmake version X.Y.Z' This '3' digit in the middle breaks the regular expression extracting the version number. The following fix permit both way to work and the regexp to match the proper version number. Signed-off-by: Alexandre Lavigne <alexandre.lavigne@scality.com>
2020-04-21Use pkg_resource to find resources files (data)Dylan Baker1-2/+4
Doing this by hand is fraught with corner cases, and we're running into some of those problems already. setuptools pkg_resource is a well tested solution for not running into corner cases, and we already rely on setuptools to make our entry point scripts work, so we might as well make us of the other things it can solve for us. Fixes #6801
2020-04-17cmake: Do not compile explicit header filesDaniel Mensinger3-15/+82
2020-04-12Merge pull request #6963 from mensinda/cmFixCCmdJussi Pakkanen2-5/+36
cmake: some fixes for add_custom_command
2020-04-12cmake: Preserve include directory order (fixes #6959)Daniel Mensinger1-11/+11