@@ -134,22 +134,37 @@ MACRO( OPENMS_CONTRIB_BUILD_COINOR)
134134 set (COINOR_EXTRA_FLAGS "ADD_FFLAGS='${OSX_DEPLOYMENT_FLAG} ' ADD_CFLAGS='${OSX_DEPLOYMENT_FLAG} ${OSX_SYSROOT_FLAG} ' ADD_CXXFLAGS='${OSX_LIB_FLAG} ${OSX_DEPLOYMENT_FLAG} ${OSX_SYSROOT_FLAG} -fPIC' --disable-dependency-tracking" )
135135 else ()
136136 set (COINOR_EXTRA_FLAGS "ADD_CXXFLAGS='-fPIC'" )
137- endif ()
138-
139- # check if we prefer shared or static libs
140- if (BUILD_SHARED_LIBRARIES)
141- set (STATIC_BUILD "--enable-static=no" )
142- set (SHARED_BUILD "--enable-shared=yes" )
143- else ()
144- set (STATIC_BUILD "--enable-static=yes" )
145- set (SHARED_BUILD "--enable-shared=no" )
146- endif ()
147-
148- message ( STATUS "Configure COIN-OR library (./configure -C --prefix=${PROJECT_BINARY_DIR} ${STATIC_BUILD} ${SHARED_BUILD} --with-lapack=no --with-blas=no ${COINOR_EXTRA_FLAGS} CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER} )" )
137+ endif ()
138+
139+ # Determine build triplet for configure (only needed for Linux with old config.guess)
140+ if (CMAKE_SYSTEM_NAME MATCHES "Linux" )
141+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64" )
142+ set (BUILD_TRIPLET "--build=arm-linux-gnu" )
143+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64" )
144+ set (BUILD_TRIPLET "--build=x86_64-linux-gnu" )
145+ else ()
146+ set (BUILD_TRIPLET "" )
147+ endif ()
148+ else ()
149+ # macOS can auto-detect, no need to specify build triplet
150+ set (BUILD_TRIPLET "" )
151+ endif ()
152+
153+ # check if we prefer shared or static libs
154+ if (BUILD_SHARED_LIBRARIES)
155+ set (STATIC_BUILD "--enable-static=no" )
156+ set (SHARED_BUILD "--enable-shared=yes" )
157+ else ()
158+ set (STATIC_BUILD "--enable-static=yes" )
159+ set (SHARED_BUILD "--enable-shared=no" )
160+ endif ()
161+
162+ message ( STATUS "Configure COIN-OR library (./configure -C --prefix=${PROJECT_BINARY_DIR} ${BUILD_TRIPLET} ${STATIC_BUILD} ${SHARED_BUILD} --with-lapack=no --with-blas=no ${COINOR_EXTRA_FLAGS} CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER} )" )
149163 exec_program ("./configure" "${COINOR_DIR} "
150164 ARGS
151165 -C
152166 --prefix=${PROJECT_BINARY_DIR}
167+ ${BUILD_TRIPLET}
153168 ## Following two lines can be combined with prefix
154169 ## But maybe they avoid building the doc into share (wanted?)
155170 #--libdir=${CONTRIB_BIN_LIB_DIR}
@@ -169,10 +184,10 @@ MACRO( OPENMS_CONTRIB_BUILD_COINOR)
169184 file (APPEND ${LOGFILE} ${COINOR_CONFIGURE_OUT} )
170185
171186 if ( NOT COINOR_CONFIGURE_SUCCESS EQUAL 0)
172- message ( STATUS "Configure COIN-OR library (./configure -C --prefix=${PROJECT_BINARY_DIR} ${STATIC_BUILD} ${SHARED_BUILD} --with-lapack=no --with-blas=no ${COINOR_EXTRA_FLAGS} CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER} ) .. failed" )
187+ message ( STATUS "Configure COIN-OR library (./configure -C --prefix=${PROJECT_BINARY_DIR} ${BUILD_TRIPLET} ${ STATIC_BUILD} ${SHARED_BUILD} --with-lapack=no --with-blas=no ${COINOR_EXTRA_FLAGS} CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER} ) .. failed" )
173188 message ( FATAL_ERROR ${COINOR_CONFIGURE_OUT} )
174189 else ()
175- message ( STATUS "Configure COIN-OR library (./configure -C --prefix=${PROJECT_BINARY_DIR} ${STATIC_BUILD} ${SHARED_BUILD} --with-lapack=no --with-blas=no ${COINOR_EXTRA_FLAGS} CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER} ) .. done" )
190+ message ( STATUS "Configure COIN-OR library (./configure -C --prefix=${PROJECT_BINARY_DIR} ${BUILD_TRIPLET} ${ STATIC_BUILD} ${SHARED_BUILD} --with-lapack=no --with-blas=no ${COINOR_EXTRA_FLAGS} CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER} ) .. done" )
176191 endif ()
177192
178193 ## make install
0 commit comments