diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2020-12-26 11:25:44 +0100 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2020-12-29 21:43:54 +0000 |
commit | 5cbc8f866c78b6d408e8a23c531d3c03ca38f1c7 (patch) | |
tree | 4898207c34881327840fc4554c6950a7274cb507 /test cases/cmake/2 advanced | |
parent | 80390dd98795306a94c9e999c3ff37f6f9f8816a (diff) | |
download | meson-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.txt | 10 | ||||
-rw-r--r-- | test cases/cmake/2 advanced/subprojects/cmMod/lib/cmMod.cpp | 9 |
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 { |