From c86e82c09299211c76366640dd0f21a6d5acc9e8 Mon Sep 17 00:00:00 2001 From: Maikel van den Hurk Date: Mon, 10 Dec 2018 07:24:53 +0100 Subject: Add Mach-O CMAKE_EXECUTABLE_FORMAT detection Code for this was prototyped when ELF detection was added long ago but left commented out. Use either MH_MAGIC or MH_CIGAM for the 32-bit variant and use either or MH_MAGIC_64 or MH_CIGAM_64 for the 64-bit variant. --- Modules/CMakeDetermineCompilerId.cmake | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake index 5e2df26a..050d3e7 100644 --- a/Modules/CMakeDetermineCompilerId.cmake +++ b/Modules/CMakeDetermineCompilerId.cmake @@ -659,13 +659,10 @@ function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file) # set(CMAKE_EXECUTABLE_FORMAT "COFF" CACHE STRING "Executable file format") # endif() # -# # Mach-O files start with CAFEBABE or FEEDFACE, according to http://radio.weblogs.com/0100490/2003/01/28.html -# if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "cafebabe") -# set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format") -# endif() -# if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "feedface") -# set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format") -# endif() + # Mach-O files start with MH_MAGIC or MH_CIGAM + if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "feedface|cefaedfe|feedfacf|cffaedfe") + set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format") + endif() endif() if(NOT DEFINED CMAKE_EXECUTABLE_FORMAT) -- cgit v0.12