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 = cmake.subproject_options()
|
||||||
|
|
||||||
cppad_cmake_options.add_cmake_defines({
|
cppad_cmake_options.add_cmake_defines({
|
||||||
'cppad_static_lib': 'true',
|
'cppad_static_lib': 'true',
|
||||||
'cpp_mas_num_threads': '10',
|
'cpp_mas_num_threads': '10',
|
||||||
'cppad_debug_and_release': 'false',
|
'cppad_debug_and_release': 'false',
|
||||||
'include_doc': 'false'
|
'include_doc': 'false',
|
||||||
|
'CMAKE_POSITION_INDEPENDENT_CODE': true
|
||||||
})
|
})
|
||||||
|
|
||||||
cppad_cmake_options.set_install(false)
|
cppad_cmake_options.set_install(false)
|
||||||
@@ -25,4 +15,22 @@ cppad_sp = cmake.subproject(
|
|||||||
options: cppad_cmake_options,
|
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