diff --git a/build-config/cppad/meson.build b/build-config/cppad/meson.build index 7cbb3682..6b772c13 100644 --- a/build-config/cppad/meson.build +++ b/build-config/cppad/meson.build @@ -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() \ No newline at end of file +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 +)