summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeOBJCInformation.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Modules: Initialize per-language platform-specific flag variables consistentlyBrad King2024-05-161-18/+1
| | | | | | | | | | | | | | | | | | | The `Platform/<OS>.cmake` modules record platform-specific flag variables for the C toolchain. The `CMake<LANG>Information` modules initialize the per-language platform-specific flag variables to defaults copied from C. However, they have diverged over time, and not all platform-specific flag variables are initialized correctly for all languages. Factor out the CXX language's instance of this logic into a helper macro, and reuse it for all languages for which we previously had the platform-specific flag variables at least partially filled out. Previously the Fortran language's copy of this logic used `if(NOT DEFINED <var>)` instead of just `if(NOT <var>)` to allow `Platform/<OS>-<COMPILER_ID>-<LANG>` modules to specify empty values for some platform-specific flag variables without being overridden. Use this approach in the helper macro so it applies to all languages. Fixes: #25990
* Modules: refactor compiler find to use modern foreachMichael Hirsch2023-11-191-1/+1
|
* LINK_WHAT_YOU_USE feature: externalize configurationMarc Chevrier2021-07-091-0/+9
| | | | | | | | Currently, this feature is only supported on ELF platforms. So, the property LINK_WHAT_YOU_USE will be ignored for other plateforms. Moreover, flags and commands are now controled by CMake variables. Fixes: #20174
* Launchers: Support setting linker launchersBobby D Reynolds2021-05-281-0/+5
| | | | Fixes: #18316
* OBJCXX: Fix regression for compiling cpp files as objcxxCristian Adam2020-09-291-1/+1
| | | | | | | | | | | | | In commit 8d61294c3e (PCH: Mark CMake PCH source files as -x <lang>-header, 2020-09-04, v3.18.3~14^2) we removed the explicit `-x objective-c++` flag. This broke cases with custom source extensions. Restore the explicit `-x objective-c[++]` flag and put it before the `<FLAGS>` placeholder. The latter will contain the proper `-x objective-c[++]-header` value and will override the `-x objective-c[++]` value set before. Fixes: #21234
* Modules: Collapse consecutive whitespace in stringsDaan De Meyer2020-03-231-3/+3
|
* ObjC: Add _COMPILE_LAUNCHER supportCristian Adam2020-01-091-0/+5
| | | | Fixes: #20178
* ObjC: Mark explicitly the language for compilationCristian Adam2019-11-061-1/+1
| | | | | | This way you can have .cpp files compiled as ObjC++. Fixes: #19926
* Languages: Add support for Objective-CSteve Wilson2019-09-281-0/+188
Add entries in Modules and Modules/Platform to support Objective-C compiler determination and identification. Add Modules to check Objective-C compiler flags, source compilations, program checks, etc... Use OBJC as the designator of the language, eg: project(foo OBJC) Add various tests for Objective-C language features. Add tests to preserve C++ handling of .m and .mm files when OBJC is not a configured language. Co-Authored-By: Cristian Adam <cristian.adam@gmail.com>