Skip to content

Commit d4135b2

Browse files
committed
apple.20
Signed-off-by: Cary Phillips <cary@ilm.com>
1 parent 4dd37eb commit d4135b2

3 files changed

Lines changed: 41 additions & 28 deletions

File tree

.github/workflows/ci_steps.yml

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ on:
4747
type: string
4848
IMATH_BUILD_APPLE_FRAMEWORK:
4949
type: string
50+
CMAKE_OSX_SYSROOT:
51+
type: string
52+
CMAKE_OSX_ARCHITECTURES:
53+
type: string
54+
CMAKE_SYSTEM_NAME:
55+
type: string
5056
IMATH_TEST_PYTHON:
5157
type: string
5258
IMATH_TEST_PYBIND11:
@@ -294,8 +300,14 @@ jobs:
294300
cmake_args+=("-DPYIMATH_LIB_SUFFIX=PY_${{ inputs.namespace }}")
295301
cmake_args+=("-DPYBINDIMATH_LIB_SUFFIX=PYBIND_${{ inputs.namespace }}")
296302
fi
297-
if [ "${{ inputs.IMATH_BUILD_APPLE_FRAMEWORK }}" == "ON" ]; then
298-
cmake_args+=("-DCMAKE_SYSTEM_NAME=iOS")
303+
if [ -n "${{ inputs.CMAKE_SYSTEM_NAME }}" ]; then
304+
cmake_args+=("-DCMAKE_SYSTEM_NAME=${{ inputs.CMAKE_SYSTEM_NAME }}")
305+
fi
306+
if [ -n "${{ inputs.CMAKE_OSX_SYSROOT }}" ]; then
307+
cmake_args+=("-DCMAKE_OSX_SYSROOT=${{ inputs.CMAKE_OSX_SYSROOT }}")
308+
fi
309+
if [ -n "${{ inputs.CMAKE_OSX_ARCHITECTURES }}" ]; then
310+
cmake_args+=("-DCMAKE_OSX_ARCHITECTURES=${{ inputs.CMAKE_OSX_ARCHITECTURES }}")
299311
fi
300312
301313
quoted_args=$(printf '%q ' "${cmake_args[@]}")
@@ -613,22 +625,27 @@ jobs:
613625
$EXAMPLES_BUILD_DIR/bin/imath-examples.exe
614626
shell: msys2 {0}
615627

616-
- name: Examples (iOS)
628+
- name: Examples (Apple Framework)
617629
if: inputs.namespace == '' && inputs.msystem == '' && inputs.IMATH_BUILD_APPLE_FRAMEWORK == 'ON'
618630
# Confirm the website examples compile on iOS
619631
run: |
620632
set -x
621-
tree $INSTALL_DIR/Imath.framework
633+
find $INSTALL_DIR/Imath.framework -ls
622634
EXAMPLES_BUILD_DIR=$WORKSPACE/_build.examples.iOS
623635
cmake_args=("-B" "$EXAMPLES_BUILD_DIR" "-S" "$WORKSPACE/website/examples")
624636
cmake_args+=("-DCMAKE_PREFIX_PATH=$INSTALL_DIR/Imath.framework")
625637
cmake_args+=("-DCMAKE_BUILD_TYPE=${{ inputs.build-type }}")
626638
cmake_args+=("-DCMAKE_CXX_STANDARD=${{ inputs.cxx-standard }}")
627-
cmake_args+=("-DCMAKE_SYSTEM_NAME=iOS")
628-
cmake_args+=("-DCMAKE_OSX_SYSROOT=iphoneos")
629-
cmake_args+=("-DCMAKE_OSX_ARCHITECTURES=arm64")
639+
if [ -n "${{ inputs.CMAKE_SYSTEM_NAME }}" ]; then
640+
cmake_args+=("-DCMAKE_SYSTEM_NAME=${{ inputs.CMAKE_SYSTEM_NAME }}")
641+
fi
642+
if [ -n "${{ inputs.CMAKE_OSX_SYSROOT }}" ]; then
643+
cmake_args+=("-DCMAKE_OSX_SYSROOT=${{ inputs.CMAKE_OSX_SYSROOT }}")
644+
fi
645+
if [ -n "${{ inputs.CMAKE_OSX_ARCHITECTURES }}" ]; then
646+
cmake_args+=("-DCMAKE_OSX_ARCHITECTURES=${{ inputs.CMAKE_OSX_ARCHITECTURES }}")
647+
fi
630648
quoted_args=$(printf '%q ' "${cmake_args[@]}")
631649
$CMAKE $quoted_args
632650
$CMAKE --build $EXAMPLES_BUILD_DIR --config ${{ inputs.build-type }}
633-
tree $EXAMPLES_BUILD_DIR
634651
shell: bash

.github/workflows/ci_workflow.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ jobs:
114114
IMATH_INSTALL_PKG_CONFIG: ${{ matrix.IMATH_INSTALL_PKG_CONFIG || 'ON' }}
115115
IMATH_INSTALL_SYM_LINK: ${{ matrix.IMATH_INSTALL_SYM_LINK || 'ON' }}
116116
IMATH_BUILD_APPLE_FRAMEWORK: ${{ matrix.IMATH_BUILD_APPLE_FRAMEWORK || 'OFF' }}
117+
CMAKE_SYSTEM_NAME: ${{ matrix.CMAKE_SYSTEM_NAME }
118+
CMAKE_OSX_ARCHITECTURES: ${{ matrix.CMAKE_OSX_ARCHITECTURES }}
117119
BUILD_TESTING: ${{ matrix.BUILD_TESTING || 'ON' }}
118120
IMATH_TEST_PYTHON: ${{ matrix.IMATH_TEST_PYTHON || 'ON' }}
119121
IMATH_TEST_PYBIND11: ${{ matrix.IMATH_TEST_PYBIND11 || 'ON' }}
@@ -147,12 +149,22 @@ jobs:
147149
# os: macos-13
148150

149151
- build: 6
150-
label: Apple Frameworks
152+
label: Apple Framework Universal2
151153
IMATH_BUILD_APPLE_FRAMEWORK: 'ON'
154+
CMAKE_OSX_ARCHITECTURES: "x86_64;arm64"
152155
BUILD_TESTING: 'OFF'
153-
python: 'OFF' # conan boost doesn't support iOS
154-
pybind11: 'OFF' # iOS doesn't support CPython
155-
cmake: 3.27
156+
python: 'OFF'
157+
pybind11: 'OFF'
158+
validate_install: false
159+
160+
- build: 7
161+
label: Apple iOS
162+
IMATH_BUILD_APPLE_FRAMEWORK: 'ON'
163+
CMAKE_SYSTEM_NAME: iOS
164+
BUILD_TESTING: 'OFF'
165+
python: 'OFF'
166+
pybind11: 'OFF'
167+
validate_install: false
156168

157169
windows:
158170
if: false

src/Imath/CMakeLists.txt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -154,22 +154,6 @@ if (IMATH_INSTALL)
154154
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${IMATH_OUTPUT_SUBDIR}
155155
)
156156

157-
# if(APPLE AND IMATH_BUILD_APPLE_FRAMEWORK)
158-
# message(STATUS "Creating Resources symlink")
159-
# # Create the Resources symlink at the framework root
160-
# file(MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/Imath.framework/Versions)
161-
# install(CODE "
162-
# execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
163-
# Versions/Current/Resources
164-
# '${CMAKE_INSTALL_PREFIX}/Imath.framework/Resources')
165-
# execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
166-
# '${Imath_VERSION_MAJOR}.${Imath_VERSION_MINOR}'
167-
# '${CMAKE_INSTALL_PREFIX}/Imath.framework/Versions/Current')
168-
# ")
169-
# else()
170-
# message(STATUS "NOT Creating Resources symlink")
171-
# endif()
172-
173157
if(BUILD_SHARED_LIBS
174158
AND (NOT "${IMATH_LIB_SUFFIX}" STREQUAL "")
175159
AND IMATH_INSTALL_SYM_LINK

0 commit comments

Comments
 (0)