| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 
 | From 05fbfed2b2104645a6ebe262631bb35a09c73a37 Mon Sep 17 00:00:00 2001
From: Julien Malik <julien.malik@unseenlabs.fr>
Date: Wed, 12 Apr 2023 11:31:12 +0200
Subject: [PATCH 3/3] cmake: define OSX_INSTALL_FRAMEWORKSDIR
This mimics how libiio creates MacOS framework and package
Signed-off-by: Julien Malik <julien.malik@unseenlabs.fr>
---
 CMakeLists.txt | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 475a448..e35f7a3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,12 +17,19 @@ set(LIBAD9361_VERSION_MAJOR 0)
 set(LIBAD9361_VERSION_MINOR 2)
 set(VERSION ${LIBAD9361_VERSION_MAJOR}.${LIBAD9361_VERSION_MINOR})
 
+include(GNUInstallDirs)
+
 if (WIN32)
 	string(TIMESTAMP BUILD_YEAR "%Y")
 endif()
 
-if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+option(OSX_FRAMEWORK "Create a OSX_FRAMEWORK" ON)
+if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND OSX_FRAMEWORK)
 	option(OSX_PACKAGE "Create a OSX package" ON)
+
+	set(OSX_INSTALL_FRAMEWORKSDIR "/Library/Frameworks" CACHE STRING "Installation directory for frameworks")
+	get_filename_component(OSX_INSTALL_FRAMEWORKSDIR "${OSX_INSTALL_FRAMEWORKSDIR}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}")
+
 	set(CMAKE_MACOSX_RPATH ON)
 	set(SKIP_INSTALL_ALL ${OSX_PACKAGE})
 endif()
@@ -89,7 +96,7 @@ add_subdirectory(test)
 set_target_properties(ad9361 PROPERTIES
 	VERSION ${VERSION}
 	SOVERSION ${LIBAD9361_VERSION_MAJOR}
-	FRAMEWORK TRUE
+	FRAMEWORK ${OSX_FRAMEWORK}
 	PUBLIC_HEADER ${LIBAD9361_HEADERS}
 	C_STANDARD 99
 	C_STANDARD_REQUIRED ON
@@ -106,7 +113,6 @@ configure_file(libad9361-iio.iss.cmakein ${CMAKE_CURRENT_BINARY_DIR}/libad9361-i
 set(LIBAD9361_PC ${CMAKE_CURRENT_BINARY_DIR}/libad9361.pc)
 configure_file(libad9361.pc.cmakein ${LIBAD9361_PC} @ONLY)
 
-include(GNUInstallDirs)
 if(NOT SKIP_INSTALL_ALL)
 	install(TARGETS ad9361
 		ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
@@ -152,7 +158,7 @@ option(LIB_CHECK_PYINSTALL "Check for library during python install" OFF)
 add_subdirectory(bindings)
 
 # Create an installer if compiling for OSX
-if(OSX_PACKAGE)
+if(OSX_PACKAGE AND OSX_FRAMEWORK)
 	set(LIBAD9361_PKG ${CMAKE_CURRENT_BINARY_DIR}/libad9361-${VERSION}.pkg)
 	set(LIBAD9361_TEMP_PKG ${CMAKE_CURRENT_BINARY_DIR}/libad9361-${VERSION}-temp.pkg)
 	set(LIBAD9361_DISTRIBUTION_XML ${CMAKE_CURRENT_BINARY_DIR}/Distribution.xml)
@@ -187,7 +193,9 @@ if(OSX_PACKAGE)
 	else()
 		message(WARNING "Missing pkgbuild or productbuild: OSX installer won't be created.")
 	endif()
-else()
+endif()
+
+if (NOT OSX_PACKAGE)
 	# Support creating some basic binpkgs via `make package`.
 	# Disabled if OSX_PACKAGE is enabled, as tarballs would
 	#   end up empty otherwise.
-- 
2.47.3
 |