diff --git a/CMakeLists.txt b/CMakeLists.txt index cdbb8c306..447b32e14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -244,6 +244,22 @@ if(ANDROID) endif() endif() +if (APPLE AND DYNAMIC_ARCH AND BUILD_SHARED_LIBS) + set (CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1) + if (NOT NOFORTRAN) + set (CMAKE_Fortran_USE_RESPONSE_FILE_FOR_OBJECTS 1) + set (CMAKE_Fortran_CREATE_SHARED_LIBRARY + "sh -c 'cat ${CMAKE_BINARY_DIR}/CMakeFiles/openblas_shared.dir/objects*.rsp | xargs -n 1024 ar -ru libopenblas.a && exit 0' " + "sh -c 'echo \"\" | ${CMAKE_Fortran_COMPILER} -o dummy.o -c -x f95-cpp-input - '" + "sh -c '${CMAKE_Fortran_COMPILER} -fpic -shared -Wl,-all_load -Wl,-force_load,libopenblas.a -Wl,-noall_load dummy.o -o ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libopenblas.${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.dylib'" + "sh -c 'ls -l ${CMAKE_BINARY_DIR}/lib'") + else () + set (CMAKE_C_CREATE_SHARED_LIBRARY + "sh -c 'cat ${CMAKE_BINARY_DIR}/CMakeFiles/openblas_shared.dir/objects*.rsp | xargs -n 1024 ar -ru libopenblas.a && exit 0' " + "sh -c '${CMAKE_C_COMPILER} -fpic -shared -Wl,-all_load -Wl,-force_load,libopenblas.a -Wl,-noall_load -o ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libopenblas.${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.dylib'") + endif () +endif() + # Handle MSVC exports if(MSVC AND BUILD_SHARED_LIBS) if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_LESS 3.4) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index c3a07ffe5..56daa9e5a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -165,7 +165,7 @@ jobs: make ctest -- job: OSX_OpenMP_Clang_gf_cmake +- job: OSX_dynarch_cmake pool: vmImage: 'macOS-10.15' variables: @@ -173,14 +173,12 @@ jobs: LIBRARY_PATH: /usr/local/opt/llvm/lib steps: - script: | - brew update - brew install llvm libomp mkdir build cd build - cmake -DTARGET=CORE2 -DUSE_OPENMP=1 -DINTERFACE64=1 -DDYNAMIC_ARCH=1 -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang -DNO_AVX512=1 .. - make + cmake -DTARGET=CORE2 -DDYNAMIC_ARCH=1 -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_Fortran_COMPILER=gfortran-10 -DBUILD_SHARED_LIBS=ON .. + cmake --build . ctest - + - job: OSX_Ifort_Clang pool: vmImage: 'macOS-10.15'