diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-07-16 18:00:36 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-07-17 23:20:03 +0300 |
commit | 845f0e1133e27add934bef2863bd00858333f09b (patch) | |
tree | c44c67e1cb2af7b7800d79d150719a298408556c /test cases/linuxlike | |
parent | 3b3f53ab55f3f232c195f070b36f433bb8c5c60c (diff) | |
download | meson-845f0e1133e27add934bef2863bd00858333f09b.zip meson-845f0e1133e27add934bef2863bd00858333f09b.tar.gz meson-845f0e1133e27add934bef2863bd00858333f09b.tar.bz2 |
cmake: Fix empty -D due to empty strings (closes #5522)
Diffstat (limited to 'test cases/linuxlike')
3 files changed, 37 insertions, 0 deletions
diff --git a/test cases/linuxlike/13 cmake dependency/cmake/FindImportedTarget.cmake b/test cases/linuxlike/13 cmake dependency/cmake/FindImportedTarget.cmake new file mode 100644 index 0000000..d65c6fb --- /dev/null +++ b/test cases/linuxlike/13 cmake dependency/cmake/FindImportedTarget.cmake @@ -0,0 +1,13 @@ +find_package(ZLIB) + +if(ZLIB_FOUND OR ZLIB_Found) + set(ImportedTarget_FOUND ON) + add_library(mesonTestLibDefs UNKNOWN IMPORTED) + set_property(TARGET mesonTestLibDefs PROPERTY IMPORTED_LOCATION ${ZLIB_LIBRARY}) + set_property(TARGET mesonTestLibDefs PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIR}) + set_property(TARGET mesonTestLibDefs APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS REQUIRED_MESON_FLAG1) + set_property(TARGET mesonTestLibDefs APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>) # Error empty string + set_property(TARGET mesonTestLibDefs APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS REQUIRED_MESON_FLAG2) +else() + set(ImportedTarget_FOUND OFF) +endif() diff --git a/test cases/linuxlike/13 cmake dependency/meson.build b/test cases/linuxlike/13 cmake dependency/meson.build index a18cd84..84c1d31 100644 --- a/test cases/linuxlike/13 cmake dependency/meson.build +++ b/test cases/linuxlike/13 cmake dependency/meson.build @@ -42,6 +42,12 @@ depm1 = dependency('SomethingLikeZLIB', required : true, method : 'cmake', cmake depm2 = dependency('SomethingLikeZLIB', required : true, method : 'cmake', cmake_module_path : ['cmake']) depm3 = dependency('SomethingLikeZLIB', required : true, cmake_module_path : 'cmake') +# Test some edge cases with spaces, etc. + +testDep = dependency('ImportedTarget', required : true, method : 'cmake', cmake_module_path : 'cmake', modules: 'mesonTestLibDefs') +testFlagSet = executable('testFlagSet', ['testFlagSet.c'], dependencies: [testDep]) +test('testFlagSetTest', testFlagSet) + # Try to compile a test that takes a dep and an include_directories cc = meson.get_compiler('c') diff --git a/test cases/linuxlike/13 cmake dependency/testFlagSet.c b/test cases/linuxlike/13 cmake dependency/testFlagSet.c new file mode 100644 index 0000000..0c92690 --- /dev/null +++ b/test cases/linuxlike/13 cmake dependency/testFlagSet.c @@ -0,0 +1,18 @@ +#include<stdio.h> +#include<zlib.h> + +#ifndef REQUIRED_MESON_FLAG1 +#error "REQUIRED_MESON_FLAG1 not set" +#endif + +#ifndef REQUIRED_MESON_FLAG2 +#error "REQUIRED_MESON_FLAG2 not set" +#endif + +int main(int argc, char *argv[]) { + printf("Hello World\n"); + void * something = deflate; + if(something != 0) + return 0; + return 1; +} |