Skip to content

Commit

Permalink
osx / iOS Configuration build dir fix (#8277)
Browse files Browse the repository at this point in the history
* osx remove configuration build dir

* osx template and project fixes for configuration build dir issues

* iOS Project Fix build paths

* iOS Project Fix

* macOS fix

* Fix macOS template
  • Loading branch information
danoli3 authored Feb 23, 2025
1 parent eb8e075 commit a070789
Show file tree
Hide file tree
Showing 16 changed files with 2,082 additions and 1,267 deletions.
11 changes: 8 additions & 3 deletions libs/openFrameworksCompiled/project/ios/CoreOF.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,13 @@ HEADER_FMT = "$(OF_PATH)/libs/fmt/include"
HEADER_CURL = "$(OF_PATH)/libs/curl/include"
HEADER_URIPARSER = "$(OF_PATH)/libs/uriparser/include"
HEADER_PUGIXML = "$(OF_PATH)/libs/pugixml/include"
HEADER_OPENSSL = "$(OF_PATH)/libs/openssl/include"


//------- Libraries
LIB_OF = "$(OF_PATH)/libs/openFrameworksCompiled/lib/ios/libofxiOS_${PLATFORM_NAME}_${CONFIGURATION}.a"
LIB_OF = "$(OF_PATH)/libs/openFrameworksCompiled/lib/ios/openFrameworksiOS.a"
LIB_OF_DEBUG = "$(OF_PATH)/libs/openFrameworksCompiled/lib/ios/openFrameworksiOSDebug.a"

//LIB_FREEIMAGE = "$(OF_PATH)/libs/FreeImage/lib/ios/freeimage.a"
//LIB_FREETYPE = "$(OF_PATH)/libs/freetype/lib/ios/freetype.a"
//LIB_TESS = "$(OF_PATH)/libs/tess2/lib/ios/tess2.a"
Expand All @@ -39,7 +42,7 @@ MISC_FLAGS = "-ObjC"

OF_CORE_LIBS = $(MISC_FLAGS) $(LIB_OF)

OF_CORE_HEADERS = $(HEADER_OF) $(HEADER_OFXIOS) $(HEADER_UTF8) $(HEADER_FREETYPE) $(HEADER_FREETYPE2) $(HEADER_GLEW) $(HEADER_FREEIMAGE) $(HEADER_TESS2) $(HEADER_RTAUDIO) $(HEADER_JSON) $(HEADER_GLM) $(HEADER_FMT) $(HEADER_CURL) $(HEADER_URIPARSER) $(HEADER_PUGIXML)
OF_CORE_HEADERS = $(HEADER_OF) $(HEADER_OFXIOS) $(HEADER_UTF8) $(HEADER_FREETYPE) $(HEADER_FREETYPE2) $(HEADER_GLEW) $(HEADER_FREEIMAGE) $(HEADER_TESS2) $(HEADER_RTAUDIO) $(HEADER_JSON) $(HEADER_GLM) $(HEADER_FMT) $(HEADER_CURL) $(HEADER_URIPARSER) $(HEADER_PUGIXML) $(HEADER_OPENSSL)

OF_CORE_FRAMEWORKS = -framework AudioToolbox -framework Accelerate -framework AVFoundation -framework CoreAudio -framework CoreGraphics -framework CoreLocation -framework CoreMotion -framework CoreMedia -framework CoreVideo -framework Foundation -framework GameController -framework GLKit -framework MapKit -framework OpenAL -framework OpenGLES -framework UIKit -framework Security -framework QuartzCore -framework CoreHaptics -framework Metal

Expand Down Expand Up @@ -98,7 +101,9 @@ DEAD_CODE_STRIPPING = YES
ENABLE_BITCODE = NO
ENABLE_STRICT_OBJC_MSGSEND = YES

CONFIGURATION_BUILD_DIR = $(SRCROOT)/bin/
BUILT_PRODUCTS_DIR = $(SRCROOT)/bin/

SKIP_INSTALL = YES

CC = $(OF_PATH)/scripts/osx/cc.sh
CXX = $(OF_PATH)/scripts/osx/cxx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@
9979E8271A1CDBD4007E55D1 /* ofMainLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ofMainLoop.h; sourceTree = "<group>"; };
BB16EBD10F2B2A9500518274 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
BB16EBD80F2B2AB500518274 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
BB24DED610DA7A3F00E9C588 /* libofxiOS_iphoneos_Debug.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libofxiOS_iphoneos_Debug.a; sourceTree = BUILT_PRODUCTS_DIR; };
BB24DED610DA7A3F00E9C588 /* openFrameworksiOSDebug.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = openFrameworksiOSDebug.a; sourceTree = BUILT_PRODUCTS_DIR; };
BBE5EAB70F49AD8400F28951 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
BF2B78182C7E6CF000EAAD6E /* ES3Renderer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ES3Renderer.m; sourceTree = "<group>"; };
BF2B78192C7E6CF000EAAD6E /* ES3Renderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ES3Renderer.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -659,7 +659,7 @@
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
BB24DED610DA7A3F00E9C588 /* libofxiOS_iphoneos_Debug.a */,
BB24DED610DA7A3F00E9C588 /* openFrameworksiOSDebug.a */,
);
name = Products;
sourceTree = "<group>";
Expand Down Expand Up @@ -1144,19 +1144,18 @@
isa = PBXNativeTarget;
buildConfigurationList = BB24DED210DA7A3F00E9C588 /* Build configuration list for PBXNativeTarget "iOS+OF Static Library" */;
buildPhases = (
BFF80A492C50AF3300784E74 /* ShellScript */,
BB24DE5D10DA7A3F00E9C588 /* Headers */,
BB24DEB110DA7A3F00E9C588 /* Sources */,
BB24DEC910DA7A3F00E9C588 /* Frameworks */,
BFF80A5C2C50B25B00784E74 /* ShellScript */,
BFF80A5C2C50B25B00784E74 /* Run Script */,
);
buildRules = (
);
dependencies = (
);
name = "iOS+OF Static Library";
productName = "Static Library";
productReference = BB24DED610DA7A3F00E9C588 /* libofxiOS_iphoneos_Debug.a */;
productReference = BB24DED610DA7A3F00E9C588 /* openFrameworksiOSDebug.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
Expand Down Expand Up @@ -1186,7 +1185,7 @@
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
BFF80A492C50AF3300784E74 /* ShellScript */ = {
BFF80A5C2C50B25B00784E74 /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
Expand All @@ -1196,31 +1195,14 @@
);
inputPaths = (
);
name = "Run Script";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = "/usr/bin/env bash";
shellScript = "#!/usr/bin/env bash\nif [ ! -d \"${SRCROOT}/../../../freetype/lib/macos/freetype.xcframework\" ]; then\n\techo \"openFrameworks has missing xcFrameworks for iOS / macOS. Downloading libaries now via scripts/macos/download_libs.sh\"\n ${SRCROOT}/../../../../scripts/macos/download_libs.sh\nelse\n\techo \"xcFrameworks found\"\nfi\n";
};
BFF80A5C2C50B25B00784E74 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = "/usr/bin/env bash";
shellScript = "#!/usr/bin/env bash\nTARGET_DIR=\"$SRCROOT/../../lib/ios/\"\nATTRIBUTE_CHECK=$(xattr -p com.apple.xcode.CreatedByBuildSystem \"$TARGET_DIR\" 2>/dev/null)\nif [ -z \"$ATTRIBUTE_CHECK\" ]; then\n xattr -w com.apple.xcode.CreatedByBuildSystem true \"$TARGET_DIR\"\n echo \"Attribute com.apple.xcode.CreatedByBuildSystem set to true for [$TARGET_DIR]\"\nelse\n echo \"Attribute com.apple.xcode.CreatedByBuildSystem already set for [$TARGET_DIR]\"\nfi\n";
shellScript = "#!/usr/bin/env bash\nTARGET_DIR=\"$SRCROOT/../../lib/ios/\"\nATTRIBUTE_CHECK=$(xattr -p com.apple.xcode.CreatedByBuildSystem \"$TARGET_DIR\" 2>/dev/null)\nif [ -z \"$ATTRIBUTE_CHECK\" ]; then\n xattr -w com.apple.xcode.CreatedByBuildSystem true \"$TARGET_DIR\"\n echo \"Attribute com.apple.xcode.CreatedByBuildSystem set to true for [$TARGET_DIR]\"\nelse\n echo \"Attribute com.apple.xcode.CreatedByBuildSystem already set for [$TARGET_DIR]\"\nfi\n\nTARGET_DIR=\"${SRCROOT}/../../lib/ios/\"\nTARGET_CONFIG_DIR=\"${SRCROOT}/../../lib/ios/build/output\"\n\nif [ \"${CONFIGURATION}\" == \"Release\" ]; then\n STATIC_NAME=\"openFrameworksiOS\"\nelse\n STATIC_NAME=\"openFrameworksiOS${CONFIGURATION}\"\nfi\n\nSOURCE_FILE=\"${TARGET_CONFIG_DIR}/${STATIC_NAME}.a\"\nDEST_FILE=\"${TARGET_DIR}/${STATIC_NAME}.a\"\n\necho \"Configuration: ${CONFIGURATION}\"\necho \"Source file: ${SOURCE_FILE}\"\necho \"Destination: ${DEST_FILE}\"\n\nmkdir -p \"${TARGET_DIR}\"\n\nif [ ! -w \"${TARGET_DIR}\" ]; then\n echo \"ERROR: Target directory ${TARGET_DIR} is not writable.\"\n ls -ld \"${TARGET_DIR}\"\n exit 1\nfi\n\nif [ ! -f \"${SOURCE_FILE}\" ]; then\n echo \"ERROR: Static library ${SOURCE_FILE} does not exist.\"\n exit 1\nfi\n\necho \"Copying ${SOURCE_FILE} to ${DEST_FILE}...\"\ncp -v \"${SOURCE_FILE}\" \"${DEST_FILE}\"\n\nif [ $? -ne 0 ]; then\n echo \"ERROR: Failed to copy ${SOURCE_FILE} to ${DEST_FILE}.\"\n exit 1\nfi\n\necho \"openFramworks build successful.\"\n\n";
};
/* End PBXShellScriptBuildPhase section */

Expand Down Expand Up @@ -1332,23 +1314,25 @@
BB24DED310DA7A3F00E9C588 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../../lib/ios/";
BUILD_DIR = "~/Library/Developer/Xcode/DerivedData";
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../../lib/ios/build/output/";
CONFIGURATION_TEMP_DIR = "$(SRCROOT)/../../lib/ios/build/temp/Debug/";
COPY_PHASE_STRIP = NO;
DERIVED_DATA_PATH = "~/Library/Developer/Xcode/DerivedData";
ENABLE_USER_SCRIPT_SANDBOXING = NO;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_PREFIX = "";
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
LIBRARY_OUTPUT_DIRECTORY = "$(SRCROOT)/../../lib/ios/";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/kiss/lib/linux\"",
"\"$(SRCROOT)/kiss/lib/linux64\"",
"\"$(SRCROOT)/../../../tess2/lib/ios\"",
"\"$(SRCROOT)/../../../poco/lib/ios\"",
"$(SRCROOT)/../../lib/ios/build/output/",
);
PRODUCT_NAME = "ofxiOS_${PLATFORM_NAME}_Debug";
OBJROOT = "$(SRCROOT)/../../lib/ios/build/obj/Debug/";
PRODUCT_NAME = openFrameworksiOSDebug;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
USE_HEADERMAP = NO;
Expand All @@ -1359,22 +1343,24 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD)";
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../../lib/ios/";
BUILD_DIR = "~/Library/Developer/Xcode/DerivedData";
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../../lib/ios/build/output/";
CONFIGURATION_TEMP_DIR = "$(SRCROOT)/../../lib/ios/build/temp/Release/";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DERIVED_DATA_PATH = "~/Library/Developer/Xcode/DerivedData";
ENABLE_USER_SCRIPT_SANDBOXING = NO;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_PREFIX = "";
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
LIBRARY_OUTPUT_DIRECTORY = "$(SRCROOT)/../../lib/ios/";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/kiss/lib/linux\"",
"\"$(SRCROOT)/kiss/lib/linux64\"",
"\"$(SRCROOT)/../../../tess2/lib/ios\"",
"\"$(SRCROOT)/../../../poco/lib/ios\"",
"$(SRCROOT)/../../lib/ios/build/output/",
);
PRODUCT_NAME = "ofxiOS_${PLATFORM_NAME}_Release";
OBJROOT = "$(SRCROOT)/../../lib/ios/build/obj/Release/";
PRODUCT_NAME = openFrameworksiOS;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
USE_HEADERMAP = NO;
Expand Down Expand Up @@ -1403,8 +1389,6 @@
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../../lib/ios/";
CONFIGURATION_TEMP_DIR = "$(SRCROOT)/../../lib/ios/build/debug/";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
Expand All @@ -1414,11 +1398,10 @@
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
OBJROOT = "$(SRCROOT)/../../lib/ios/build/debug";
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
OBJROOT = "$(SRCROOT)/../../lib/ios/build/obj/Debug/";
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SYMROOT = "$(SRCROOT)/../../lib/ios/";
WARNING_CFLAGS = (
"-Wno-non-virtual-dtor",
"-Wno-overloaded-virtual",
Expand Down Expand Up @@ -1447,8 +1430,6 @@
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(SRCROOT)/../../lib/ios/";
CONFIGURATION_TEMP_DIR = "$(SRCROOT)/../../lib/ios/build/release/";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_NO_COMMON_BLOCKS = YES;
Expand All @@ -1457,11 +1438,9 @@
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
OBJROOT = "$(SRCROOT)/../../lib/ios/build/release";
ONLY_ACTIVE_ARCH = NO;
OBJROOT = "$(SRCROOT)/../../lib/ios/build/obj/Release/";
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SYMROOT = "$(SRCROOT)/../../lib/ios/";
WARNING_CFLAGS = (
"-Wno-non-virtual-dtor",
"-Wno-overloaded-virtual",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB24DE5C10DA7A3F00E9C588"
BuildableName = "libofxiOS_iphoneos_Debug.a"
BuildableName = "openFrameworksiOSDebug.a"
BlueprintName = "iOS+OF Static Library"
ReferencedContainer = "container:iOS+OFLib.xcodeproj">
</BuildableReference>
Expand Down Expand Up @@ -50,7 +50,7 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BB24DE5C10DA7A3F00E9C588"
BuildableName = "libofxiOS_iphoneos_Debug.a"
BuildableName = "openFrameworksiOSDebug.a"
BlueprintName = "iOS+OF Static Library"
ReferencedContainer = "container:iOS+OFLib.xcodeproj">
</BuildableReference>
Expand Down
7 changes: 4 additions & 3 deletions libs/openFrameworksCompiled/project/macos/CoreOF.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ HEADER_GLFW = "$(OF_PATH)/libs/glfw/include"
HEADER_UTF8 = "$(OF_PATH)/libs/utf8/include"
HEADER_JSON = "$(OF_PATH)/libs/json/include"
HEADER_GLM = "$(OF_PATH)/libs/glm/include"
HEADER_CURL = ""
HEADER_CURL = "$(OF_PATH)/libs/curl/include"
HEADER_OPENSSL = "$(OF_PATH)/libs/openssl/include"
HEADER_BROTLI = "$(OF_PATH)/libs/brotli/include"
HEADER_URIPARSER = "$(OF_PATH)/libs/uriparser/include"
HEADER_PUGIXML = "$(OF_PATH)/libs/pugixml/include"

Expand All @@ -46,8 +48,7 @@ LIB_OF_DEBUG = "$(OF_PATH)/libs/openFrameworksCompiled/lib/macos/openFrameworksD
OF_CORE_LIBS = $(MISC_FLAGS)
//$(LIB_FMOD)

OF_CORE_HEADERS = $(HEADER_OF) $(HEADER_FREEIMAGE) $(HEADER_UTF8) $(HEADER_JSON) $(HEADER_GLM)
//$(HEADER_TESS2) $(HEADER_CAIRO) $(HEADER_RTAUDIO) $(HEADER_GLFW) $(HEADER_FREETYPE) $(HEADER_FREETYPE2) $(HEADER_CURL) $(HEADER_URIPARSER) $(HEADER_PUGIXML) $(HEADER_GLEW)
OF_CORE_HEADERS = $(HEADER_OF) $(HEADER_FREEIMAGE) $(HEADER_UTF8) $(HEADER_JSON) $(HEADER_GLM) $(HEADER_TESS2) $(HEADER_CAIRO) $(HEADER_RTAUDIO) $(HEADER_GLFW) $(HEADER_FREETYPE) $(HEADER_FREETYPE2) $(HEADER_CURL) $(HEADER_URIPARSER) $(HEADER_PUGIXML) $(HEADER_GLEW) $(HEADER_CURL) $(HEADER_OPENSSL) $(HEADER_BROTLI)

OF_CORE_FRAMEWORKS = -framework Accelerate -framework AGL -framework AppKit -framework ApplicationServices -framework AudioToolbox -framework AVFoundation -framework Cocoa -framework CoreAudio -framework CoreFoundation -framework CoreMedia -framework CoreServices -framework CoreVideo -framework IOKit -framework OpenGL -framework QuartzCore -framework Security
//-framework AudioToolbox -framework Accelerate -framework AVFoundation -framework CoreAudio -framework CoreGraphics -framework CoreLocation -framework CoreMotion -framework CoreMedia -framework CoreVideo -framework Foundation -framework GameController -framework GLKit -framework MapKit -framework OpenAL -framework OpenGLES -framework UIKit -framework Security -framework QuartzCore -framework CoreHaptics
Expand Down
Loading

0 comments on commit a070789

Please sign in to comment.