Mercurial > hg > orthanc-gdcm
changeset 64:4b8fd4b10742
fix build for Apple M1
author | Alain Mazy <am@osimis.io> |
---|---|
date | Tue, 29 Mar 2022 11:23:11 +0200 |
parents | 956af3d5c7a5 |
children | 5580f4aaee4b |
files | Resources/BuildInstructions.txt Resources/CMake/GdcmConfiguration.cmake |
diffstat | 2 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/Resources/BuildInstructions.txt Wed Mar 23 21:44:16 2022 +0100 +++ b/Resources/BuildInstructions.txt Tue Mar 29 11:23:11 2022 +0200 @@ -27,3 +27,25 @@ # cd Build # cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=`pwd`/../Orthanc/Resources/MinGWToolchain.cmake # make + + +Building on Universal binary for Apple (Intel + Apple Silicon) +============================================================== + +The current CMake does not allow building a single universal binary at once -> you must build for each architecture +separately and merge the binaries: + +# mkdir build-arm64 +# cd build-arm64 +# cmake .. -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_OSX_ARCHITECTURES="arm64" -DALLOW_DOWNLOADS=ON -DCMAKE_BUILD_TYPE:STRING=Release -DSTATIC_BUILD=ON -DCMAKE_C_FLAGS="-Wno-implicit-function-declaration" +# make + +# mkdir build-amd64 +# cd build-amd64 +# cmake .. -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_OSX_ARCHITECTURES="amd64" -DALLOW_DOWNLOADS=ON -DCMAKE_BUILD_TYPE:STRING=Release -DSTATIC_BUILD=ON -DCMAKE_C_FLAGS="-Wno-implicit-function-declaration" +# make + +# lipo -create -output build/libOrthancGdcm.dylib build-amd64/libOrthancGdcm.dylib build-arm64/libOrthancGdcm.dylib + + +
--- a/Resources/CMake/GdcmConfiguration.cmake Wed Mar 23 21:44:16 2022 +0100 +++ b/Resources/CMake/GdcmConfiguration.cmake Tue Mar 29 11:23:11 2022 +0200 @@ -57,6 +57,8 @@ -DCMAKE_CXX_FLAGS_MINSIZEREL=${CMAKE_CXX_FLAGS_MINSIZEREL} -DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO} -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=${CMAKE_CXX_FLAGS_RELWITHDEBINFO} + -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} + -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} ) if (CMAKE_TOOLCHAIN_FILE) @@ -89,6 +91,12 @@ gdcmjpeg12 gdcmjpeg16 gdcmopenjp2 gdcmzlib gdcmCommon gdcmexpat gdcmuuid) endif() + # if (CMAKE_SYSTEM_NAME STREQUAL "Darwin") + # set(EXTRA_CMAKE_FLAGS -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}) + # else() + # set(EXTRA_CMAKE_FLAGS "") + # endif() + include(ExternalProject) externalproject_add(GDCM URL "${GDCM_URL}"