浏览代码

[macOS] don't use macdeployqt together with Conan

Andrey Filipenkov 3 年之前
父节点
当前提交
d1ab611b4f
共有 1 个文件被更改,包括 15 次插入13 次删除
  1. 15 13
      osx/CMakeLists.txt

+ 15 - 13
osx/CMakeLists.txt

@@ -4,19 +4,8 @@ if(APPLE_MACOS)
 	set(bundleDir "\${CMAKE_INSTALL_PREFIX}/${APP_BUNDLE_DIR}")
 	set(bundleContentsDir "${bundleDir}/Contents")
 
-	if(ENABLE_LAUNCHER)
-		# cross-compiled Qt 5 builds macdeployqt for target platform instead of host
-		if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL CMAKE_SYSTEM_PROCESSOR)
-			# deploy Qt dylibs with macdeployqt
-			find_program(TOOL_MACDEPLOYQT NAMES macdeployqt PATHS ${qt_base_dir}/bin)
-		endif()
-		if(TOOL_MACDEPLOYQT)
-			install(CODE "
-				execute_process(COMMAND
-					\"${TOOL_MACDEPLOYQT}\" \"${bundleDir}\" -verbose=2
-				)
-			")
-		else()
+	if(ENABLE_LAUNCHER OR ENABLE_EDITOR)
+		if(USING_CONAN)
 			# simulate macdeployqt behavior, main Qt libs are copied by conan
 			get_target_property(qmakePath Qt5::qmake IMPORTED_LOCATION)
 			execute_process(COMMAND
@@ -33,6 +22,19 @@ if(APPLE_MACOS)
 					\"[Paths]\nPlugins = PlugIns\"
 				)
 			")
+		else()
+			# note: cross-compiled Qt 5 builds macdeployqt for target platform instead of host
+			# deploy Qt dylibs with macdeployqt
+			find_program(TOOL_MACDEPLOYQT NAMES macdeployqt PATHS ${qt_base_dir}/bin)
+			if(TOOL_MACDEPLOYQT)
+				install(CODE "
+					execute_process(COMMAND
+						\"${TOOL_MACDEPLOYQT}\" \"${bundleDir}\" -verbose=2
+					)
+				")
+			else()
+				message(WARNING "macdeployqt not found, running cpack would result in broken package")
+			endif()
 		endif()
 	endif()