Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/full-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -770,6 +770,7 @@ jobs:
-c tools.cmake.cmaketoolchain:generator=Ninja \
-s compiler.cppstd=20 \
-s build_type=${{ env.BUILD_TYPE }} \
-s os.version=${{ matrix.macos_dev_target }} \
-o readline/*:with_library=termcap

- name: Locate Ruby
Expand Down Expand Up @@ -824,7 +825,7 @@ jobs:
-DCPACK_BINARY_IFW:BOOL=ON \
-DBUILD_PYTHON_BINDINGS:BOOL=ON \
-DBUILD_PYTHON_PIP_PACKAGE:BOOL=OFF \
-DCMAKE_INSTALL_RPATH="@loader_path;@executable_path" \
-DCMAKE_INSTALL_RPATH="@loader_path;@executable_path;@loader_path/../lib" \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this for #5574 ?

This is the wrong solution IMHO. This should be done in cmakelists, not via a command line parameter (which anyone building is likely to forget to add).

Copy link
Collaborator

@jmarrec jmarrec Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could be that #5574 exists is because you are passing this variable CMAKE_INSTALL_RPATH to begin with (or something similar). In any case I don't think we want to do that.

We never explicitly added libopenstudiolib.dylib into the openstudio.bundle and it has always worked fine, until the full-build workflow was added.

$ otool -L /Applications/OpenStudio-3.10.0/Ruby/openstudio.bundle
/Applications/OpenStudio-3.10.0/Ruby/openstudio.bundle:
	/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 61439.101.1)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 3423.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1900.178.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1351.0.0)
$ otool -L /Applications/OpenStudio-3.11.0-rc2/Ruby/openstudio.bundle
/Applications/OpenStudio-3.11.0-rc2/Ruby/openstudio.bundle:
	@rpath/libopenstudiolib.dylib (compatibility version 0.0.0, current version 0.0.0)
	/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 61439.120.27)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 3502.1.255)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1900.180.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1351.0.0)

Should track where this started popping.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't get why passing CMAKE_INSTALL_RPATH, seems to be stemming from 40d0625 and the commit message doesn't explain anything

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that you made a PR #5583 to fix this so that CMAKE_INSTALL_RPATH is no longer provided.

-DPYTHON_VERSION:STRING=${{ env.PYTHON_REQUIRED_VERSION }} \
-DPython_ROOT_DIR:PATH="$(dirname $(dirname $SYSTEM_PYTHON_PATH))" \
../${{ env.OPENSTUDIO_SOURCE }}
Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/incremental-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,14 @@ jobs:
# Force remove all to ensure rebuild with correct ABI
conan remove "*" -c || true

# Fix SWIG_DIR env var being set to an invalid path by conan
export SWIG_DIR=""

if [ ! -f "${{ env.DOCKER_ROOT }}/.conan2/profiles/default" ]; then
conan profile detect
fi

conan install . --output-folder=${{ env.OPENSTUDIO_BUILD_NAME }} --build=missing --build=boost --build=fmt --build=cpprestsdk -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release -s compiler=gcc -s compiler.version=11 -s compiler.libcxx=libstdc++11
conan install . --output-folder=${{ env.OPENSTUDIO_BUILD_NAME }} --build=missing --build=boost --build=fmt --build=cpprestsdk --build=swig -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release -s compiler=gcc -s compiler.version=11 -s compiler.libcxx=libstdc++11

- name: Locate Ruby
run: |
Expand All @@ -112,9 +115,21 @@ jobs:
working-directory: ${{ env.OPENSTUDIO_DOCKER_VOLUME }}/${{ env.OPENSTUDIO_SOURCE_NAME }}/${{ env.OPENSTUDIO_BUILD_NAME }}
run: |
. ./conanbuild.sh
# Create a symlink to the swig executable in a standard path if it exists in conan cache
# This helps when the long conan path is causing issues or not being picked up correctly
SWIG_BIN=$(find /github/home/.conan2 -name swig -type f -executable | head -n 1)
if [ ! -z "$SWIG_BIN" ]; then
echo "Found SWIG at $SWIG_BIN"
mkdir -p $HOME/bin
ln -sf $SWIG_BIN $HOME/bin/swig
export PATH=$HOME/bin:$PATH
SWIG_EXEC_ARG="-DSWIG_EXECUTABLE=$HOME/bin/swig"
fi

cmake -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake \
-DCMAKE_BUILD_TYPE:STRING=Release \
$SWIG_EXEC_ARG \
-DBUILD_TESTING:BOOL=ON \
-DCPACK_BINARY_DEB:BOOL=ON \
-DCPACK_BINARY_TGZ:BOOL=ON \
Expand Down
2 changes: 1 addition & 1 deletion Jenkinsfile_develop_osx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//Jenkins pipelines are stored in shared libaries. Please see: https://github.com/NREL/cbci_jenkins_libs

@Library('cbci_shared_libs') _
@Library('cbci_shared_libs@osx_cert_fix') _

// Build for PR to develop branch only.
if ((env.CHANGE_ID) && (env.CHANGE_TARGET) ) {
Expand Down