| cmake_minimum_required (VERSION 3.14) | |
| if(NOT "$ENV{CMAKE_OSX_ARCHITECTURES}" MATCHES "[;$]") | |
| set(USE_SWIFT 1) | |
| else() | |
| set(USE_SWIFT 0) | |
| endif() | |
| if(IOS) | |
| set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED NO) | |
| set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) | |
| if(XCODE_VERSION VERSION_LESS 9) | |
| set(USE_SWIFT 0) | |
| endif() | |
| endif () | |
| enable_language (CXX) | |
| if(USE_SWIFT) | |
| enable_language (Swift) | |
| if(NOT XCODE_VERSION VERSION_LESS 10.2) | |
| set(CMAKE_Swift_LANGUAGE_VERSION 5.0) | |
| elseif(NOT XCODE_VERSION VERSION_LESS 8.0) | |
| set(CMAKE_Swift_LANGUAGE_VERSION 3.0) | |
| endif() | |
| endif() | |
| # Try to find ZLIB in the SDK rather than in system locations. | |
| set(CMAKE_FIND_USE_PACKAGE_ROOT_PATH FALSE) | |
| set(CMAKE_FIND_USE_CMAKE_PATH FALSE) | |
| set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH FALSE) | |
| set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH FALSE) | |
| list(REMOVE_ITEM CMAKE_SYSTEM_PREFIX_PATH /usr/local /usr / /usr/X11R6 /usr/pkg /opt /sw /opt/local) | |
| find_package(ZLIB REQUIRED) | |
| add_library (framework_dependency STATIC) | |
| target_sources (framework_dependency PRIVATE use_cmath.cpp) | |
| target_link_libraries(framework_dependency INTERFACE ZLIB::ZLIB) | |
| add_library (framework_test SHARED use_cmath.cpp) | |
| if(USE_SWIFT) | |
| target_sources(framework_test PRIVATE foo.swift) | |
| endif() | |
| target_link_libraries (framework_test PRIVATE framework_dependency) | |
| set_target_properties (framework_test PROPERTIES | |
| FRAMEWORK TRUE | |
| FRAMEWORK_VERSION A | |
| MACOSX_FRAMEWORK_IDENTIFIER "framework.test" | |
| VERSION "1.0" | |
| SOVERSION 1.0 | |
| ) |