Explorar o código

[iOS] don't nest AI and scripting libs under subdirectories

3rd party signing tools may ignore such directory layout
Andrey Filipenkov %!s(int64=3) %!d(string=hai) anos
pai
achega
b766edb6af
Modificáronse 2 ficheiros con 15 adicións e 2 borrados
  1. 8 2
      CMakeLists.txt
  2. 7 0
      lib/VCMIDirs.cpp

+ 8 - 2
CMakeLists.txt

@@ -402,8 +402,14 @@ else()
 	add_definitions(-DM_LIB_DIR="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}")
 	add_definitions(-DM_LIB_DIR="${CMAKE_INSTALL_PREFIX}/${LIB_DIR}")
 endif()
 endif()
 
 
-set(AI_LIB_DIR "${LIB_DIR}/AI")
-set(SCRIPTING_LIB_DIR "${LIB_DIR}/scripting")
+# iOS has flat libs directory structure
+if(APPLE_IOS)
+	set(AI_LIB_DIR "${LIB_DIR}")
+	set(SCRIPTING_LIB_DIR "${LIB_DIR}")
+else()
+	set(AI_LIB_DIR "${LIB_DIR}/AI")
+	set(SCRIPTING_LIB_DIR "${LIB_DIR}/scripting")
+endif()
 
 
 #######################################
 #######################################
 #        Add subdirectories           #
 #        Add subdirectories           #

+ 7 - 0
lib/VCMIDirs.cpp

@@ -391,6 +391,7 @@ public:
 	std::vector<bfs::path> dataPaths() const override;
 	std::vector<bfs::path> dataPaths() const override;
 
 
 	bfs::path libraryPath() const override;
 	bfs::path libraryPath() const override;
+	bfs::path fullLibraryPath(const std::string & desiredFolder, const std::string & baseLibName) const override;
 	bfs::path binaryPath() const override;
 	bfs::path binaryPath() const override;
 };
 };
 
 
@@ -411,6 +412,12 @@ std::vector<bfs::path> VCMIDirsIOS::dataPaths() const
 	return paths;
 	return paths;
 }
 }
 
 
+bfs::path VCMIDirsIOS::fullLibraryPath(const std::string & desiredFolder, const std::string & baseLibName) const
+{
+	// iOS has flat libs directory structure
+	return libraryPath() / libraryName(baseLibName);
+}
+
 bfs::path VCMIDirsIOS::libraryPath() const { return {iOS_utils::frameworksPath()}; }
 bfs::path VCMIDirsIOS::libraryPath() const { return {iOS_utils::frameworksPath()}; }
 bfs::path VCMIDirsIOS::binaryPath() const { return {iOS_utils::bundlePath()}; }
 bfs::path VCMIDirsIOS::binaryPath() const { return {iOS_utils::bundlePath()}; }
 #elif defined(VCMI_MAC)
 #elif defined(VCMI_MAC)