build(cross): macOS cross compilation
macos cross compilation now works. macos binaries can be compiled on linux with osxcross installed and built
This commit is contained in:
@@ -7,9 +7,8 @@ kinsol_cmake_options.add_cmake_defines({
|
||||
'CMAKE_C_FLAGS' : '-Wno-deprecated-declarations',
|
||||
'BUILD_SHARED_LIBS' : 'OFF',
|
||||
'BUILD_STATIC_LIBS' : 'ON',
|
||||
'CMAKE_BUILD_WITH_INSTALL_RPATH': 'ON',
|
||||
'EXAMPLES_ENABLE_C' : 'OFF',
|
||||
'CMAKE_POSITION_INDEPENDENT_CODE': 'ON'
|
||||
'CMAKE_POSITION_INDEPENDENT_CODE': true
|
||||
})
|
||||
|
||||
kinsol_cmake_options.add_cmake_defines({
|
||||
@@ -22,11 +21,31 @@ kinsol_sp = cmake.subproject(
|
||||
options: kinsol_cmake_options,
|
||||
)
|
||||
|
||||
sundials_kinsol_shared = kinsol_sp.dependency('sundials_kinsol_static')
|
||||
sundials_kinsol_static_tgt = kinsol_sp.target('sundials_kinsol_obj_static')
|
||||
kinsol_includes = kinsol_sp.include_directories('sundials_kinsol_obj_static')
|
||||
|
||||
kinsol_dep = declare_dependency(
|
||||
dependencies: [
|
||||
sundials_kinsol_shared,
|
||||
]
|
||||
kinsol_objs = [sundials_kinsol_static_tgt.extract_all_objects(recursive: false)]
|
||||
|
||||
empty_kinsol_file = configure_file(
|
||||
output: 'kinsol_dummy_ar.cpp',
|
||||
command: ['echo'],
|
||||
capture: true
|
||||
)
|
||||
|
||||
|
||||
libkinsol_static = static_library(
|
||||
'kinsol_static',
|
||||
empty_kinsol_file,
|
||||
objects: kinsol_objs,
|
||||
include_directories: kinsol_includes,
|
||||
pic: true,
|
||||
install: false
|
||||
)
|
||||
|
||||
|
||||
kinsol_dep = declare_dependency(
|
||||
link_with: libkinsol_static,
|
||||
include_directories: kinsol_includes
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user