fix(cppad): build static lib for cppad
this is needed for gcc build and does not break clang build
This commit is contained in:
@@ -1,21 +1,11 @@
|
||||
#cppad_inc = include_directories('include', is_system: true)
|
||||
#cppad_dep = declare_dependency(
|
||||
# include_directories: cppad_inc,
|
||||
#)
|
||||
#
|
||||
#message('Registering CppAD headers for installation...')
|
||||
#install_subdir('include/cppad', install_dir: get_option('includedir'))
|
||||
#message('Done registering CppAD headers for installation!')
|
||||
#
|
||||
|
||||
|
||||
cppad_cmake_options = cmake.subproject_options()
|
||||
|
||||
cppad_cmake_options.add_cmake_defines({
|
||||
'cppad_static_lib': 'true',
|
||||
'cpp_mas_num_threads': '10',
|
||||
'cppad_debug_and_release': 'false',
|
||||
'include_doc': 'false'
|
||||
'include_doc': 'false',
|
||||
'CMAKE_POSITION_INDEPENDENT_CODE': true
|
||||
})
|
||||
|
||||
cppad_cmake_options.set_install(false)
|
||||
@@ -25,4 +15,22 @@ cppad_sp = cmake.subproject(
|
||||
options: cppad_cmake_options,
|
||||
)
|
||||
|
||||
cppad_dep = cppad_sp.dependency('cppad_lib').as_system()
|
||||
cppad_target = cppad_sp.target('cppad_lib')
|
||||
cppad_objs = [cppad_target.extract_all_objects(recursive: true)]
|
||||
cppad_incs = cppad_sp.include_directories('cppad_lib')
|
||||
|
||||
empty_cppad_file = configure_file(output: 'cppad_dummy_ar.cpp', command: ['echo'], capture: true)
|
||||
|
||||
libcppad_static = static_library(
|
||||
'cppad-static',
|
||||
empty_cppad_file,
|
||||
objects: cppad_objs,
|
||||
include_directories: cppad_incs,
|
||||
pic: true,
|
||||
install: false
|
||||
)
|
||||
|
||||
cppad_dep = declare_dependency(
|
||||
link_with: libcppad_static,
|
||||
include_directories: cppad_incs
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user