aboutsummaryrefslogtreecommitdiff
path: root/test cases/cmake/2 advanced
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2020-12-26 11:25:44 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2020-12-29 21:43:54 +0000
commit5cbc8f866c78b6d408e8a23c531d3c03ca38f1c7 (patch)
tree4898207c34881327840fc4554c6950a7274cb507 /test cases/cmake/2 advanced
parent80390dd98795306a94c9e999c3ff37f6f9f8816a (diff)
downloadmeson-5cbc8f866c78b6d408e8a23c531d3c03ca38f1c7.zip
meson-5cbc8f866c78b6d408e8a23c531d3c03ca38f1c7.tar.gz
meson-5cbc8f866c78b6d408e8a23c531d3c03ca38f1c7.tar.bz2
cmake: fix -framework dependencies (fixes #8045)
Diffstat (limited to 'test cases/cmake/2 advanced')
-rw-r--r--test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt10
-rw-r--r--test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp9
2 files changed, 19 insertions, 0 deletions
diff --git a/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt b/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt
index 7fce89e..6258ca0 100644
--- a/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt
+++ b/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt
@@ -23,6 +23,16 @@ target_link_libraries(cmModLib ZLIB::ZLIB)
target_link_libraries(cmModLibStatic ;ZLIB::ZLIB;)
target_link_libraries(testEXE cmModLib)
+if(APPLE)
+ find_library(COREFOUNDATION_FRAMEWORK "CoreFoundation")
+ if(NOT COREFOUNDATION_FRAMEWORK)
+ message(FATAL_ERROR "CoreFoundation framework not found")
+ endif()
+
+ target_link_libraries(cmModLibStatic "${COREFOUNDATION_FRAMEWORK}")
+ target_compile_definitions(cmModLibStatic PUBLIC USE_FRAMEWORK)
+endif()
+
target_compile_definitions(cmModLibStatic PUBLIC CMMODLIB_STATIC_DEFINE)
install(TARGETS testEXE LIBRARY DESTINATION lib RUNTIME DESTINATION bin)
diff --git a/test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp b/test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp
index 027296e..eb41438 100644
--- a/test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp
+++ b/test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp
@@ -6,10 +6,19 @@
#error "Invalid value of CONFIG_OPT"
#endif
+#ifdef USE_FRAMEWORK
+#include <CoreFoundation/CoreFoundation.h>
+#endif
+
using namespace std;
cmModClass::cmModClass(string foo) {
str = foo + " World " + zlibVersion();
+
+#ifdef USE_FRAMEWORK
+ CFStringRef ref = CFStringCreateWithCString(NULL, str.c_str(), kCFStringEncodingUTF8);
+ CFRelease(ref);
+#endif
}
string cmModClass::getStr() const {