diff --git a/README.md b/README.md index 8332742..5c9c95f 100644 --- a/README.md +++ b/README.md @@ -45,8 +45,10 @@ Then, LIB_TYPE=shared #LIB_TYPE=static meson --buildtype ${BUILD_TYPE} --default-library ${LIB_TYPE} . build-${LIB_TYPE} - ninja -v -C build-${LIB_TYPE} test + #ninja -v -C build-${LIB_TYPE} test # This stopped working on my Mac. + ninja -v -C build-${LIB_TYPE} cd build-${LIB_TYPE} + meson test --no-rebuild --print-errorlogs sudo ninja install ### Building and testing with other build systems diff --git a/meson.build b/meson.build index f5573c0..a338cc0 100644 --- a/meson.build +++ b/meson.build @@ -46,6 +46,14 @@ install_headers( jsoncpp_headers, subdir : 'json') +if get_option('default_library') == 'shared' and meson.get_compiler('cpp').get_id() == 'msvc' + dll_export_flag = '-DJSON_DLL_BUILD' + dll_import_flag = '-DJSON_DLL' +else + dll_export_flag = [] + dll_import_flag = [] +endif + jsoncpp_lib = library( 'jsoncpp', [ jsoncpp_gen_sources, @@ -56,7 +64,8 @@ jsoncpp_lib = library( 'src/lib_json/json_writer.cpp'], soversion : 20, install : true, - include_directories : jsoncpp_include_directories) + include_directories : jsoncpp_include_directories, + cpp_args: dll_export_flag) import('pkgconfig').generate( libraries : jsoncpp_lib, @@ -82,7 +91,8 @@ jsoncpp_test = executable( 'src/test_lib_json/main.cpp'], include_directories : jsoncpp_include_directories, link_with : jsoncpp_lib, - install : false) + install : false, + cpp_args: dll_import_flag) test( 'unittest_jsoncpp_test', jsoncpp_test) @@ -92,7 +102,8 @@ jsontestrunner = executable( 'src/jsontestrunner/main.cpp', include_directories : jsoncpp_include_directories, link_with : jsoncpp_lib, - install : false) + install : false, + cpp_args: dll_import_flag) test( 'unittest_jsontestrunner', python, diff --git a/travis.sh b/travis.sh index f80424b..226c64d 100755 --- a/travis.sh +++ b/travis.sh @@ -17,7 +17,12 @@ set -vex env | sort +meson --version +ninja --version meson --buildtype ${BUILD_TYPE} --default-library ${LIB_TYPE} . build-${LIB_TYPE} ninja -v -C build-${LIB_TYPE} -ninja -v -C build-${LIB_TYPE} test +#ninja -v -C build-${LIB_TYPE} test +cd build-${LIB_TYPE} +meson test --no-rebuild --print-errorlogs +cd - rm -r build-${LIB_TYPE}