aboutsummaryrefslogtreecommitdiff
path: root/test cases/cmake/2 advanced
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-12-28 13:37:31 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2019-12-29 19:02:24 +0200
commit4f6453bc327d91c29956459951a06bcdc73ba040 (patch)
tree2eecc6438dfa3399c67b67a0ea58ef8a49720481 /test cases/cmake/2 advanced
parentd67423ab11bbcd0e81d81005608a97363804f6a2 (diff)
downloadmeson-4f6453bc327d91c29956459951a06bcdc73ba040.zip
meson-4f6453bc327d91c29956459951a06bcdc73ba040.tar.gz
meson-4f6453bc327d91c29956459951a06bcdc73ba040.tar.bz2
cmake: Use trace for missing link flags (fixes #6386)
This is neccessary for static libraries, since the CMake file API does not add link flags here.
Diffstat (limited to 'test cases/cmake/2 advanced')
-rw-r--r--test cases/cmake/2 advanced/meson.build5
-rw-r--r--test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt8
2 files changed, 10 insertions, 3 deletions
diff --git a/test cases/cmake/2 advanced/meson.build b/test cases/cmake/2 advanced/meson.build
index 385a49b..a10db1c 100644
--- a/test cases/cmake/2 advanced/meson.build
+++ b/test cases/cmake/2 advanced/meson.build
@@ -10,11 +10,14 @@ cm = import('cmake')
# Test the "normal" subproject call
sub_pro = cm.subproject('cmMod')
sub_dep = sub_pro.dependency('cmModLib')
+sub_sta = sub_pro.dependency('cmModLibStatic')
# Build some files
exe1 = executable('main1', ['main.cpp'], dependencies: [sub_dep])
+exe2 = executable('main2', ['main.cpp'], dependencies: [sub_sta])
test('test1', exe1)
+test('test2', exe2)
# Test if we can also extract executables
assert(sub_pro.target_type('testEXE') == 'executable', 'The type must be executable for obvious reasons')
-test('test2', sub_pro.target('testEXE'))
+test('test3', sub_pro.target('testEXE'))
diff --git a/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt b/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt
index 05ccb9e..50b1049 100644
--- a/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt
+++ b/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt
@@ -10,7 +10,8 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CM
set(CONFIG_OPT 42)
configure_file("config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY)
-add_library(cmModLib SHARED lib/cmMod.cpp)
+add_library(cmModLib SHARED lib/cmMod.cpp)
+add_library(cmModLibStatic STATIC lib/cmMod.cpp)
include(GenerateExportHeader)
generate_export_header(cmModLib)
@@ -18,7 +19,10 @@ set_target_properties(cmModLib PROPERTIES VERSION 1.0.1)
add_executable(testEXE main.cpp)
-target_link_libraries(cmModLib ZLIB::ZLIB)
+target_link_libraries(cmModLib ZLIB::ZLIB)
+target_link_libraries(cmModLibStatic ZLIB::ZLIB)
target_link_libraries(testEXE cmModLib)
+target_compile_definitions(cmModLibStatic PUBLIC CMMODLIB_STATIC_DEFINE)
+
install(TARGETS cmModLib testEXE LIBRARY DESTINATION lib RUNTIME DESTINATION bin)