Update assimp to fix Mac CI.
Zlib no longer uses fdopen. Zlib previously had redefined fdopen, causing conflicts in apple things. Zlib has since updated to remove these defines, fixing the issue.
This commit is contained in:
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
|||||||
cmake: -DCMAKE_PREFIX_PATH=D:/a/qtk/qtk/Qt/$QT_VERSION/mingw81_64/ $CONFIG
|
cmake: -DCMAKE_PREFIX_PATH=D:/a/qtk/qtk/Qt/$QT_VERSION/mingw81_64/ $CONFIG
|
||||||
flags: ''
|
flags: ''
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
cmake: -DCMAKE_PREFIX_PATH=/home/runner/work/qtk/Qt/$QT_VERSION/gcc_64/ $CONFIG
|
cmake: -DCMAKE_PREFIX_PATH=/home/runner/work/qtk/Qt/$QT_VERSION/gcc_64/ -Dfdopen=fdopen $CONFIG
|
||||||
flags: -j $(nproc)
|
flags: -j $(nproc)
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|||||||
@@ -157,8 +157,15 @@ list(APPEND VAR_NAMES QT6_INSTALL_PLUGINS)
|
|||||||
|
|
||||||
# Find Assimp.
|
# Find Assimp.
|
||||||
if(QTK_SUBMODULES)
|
if(QTK_SUBMODULES)
|
||||||
|
if(APPLE)
|
||||||
|
# Avoid zlib redefining fdopen, causing build failures in apple clang.
|
||||||
|
# https://github.com/assimp/assimp/issues/6118
|
||||||
|
add_compile_definitions(-Dfdopen=fdopen)
|
||||||
|
endif()
|
||||||
|
if(NOT WIN32)
|
||||||
|
add_compile_options(-fPIC)
|
||||||
|
endif()
|
||||||
# Required to statically link.
|
# Required to statically link.
|
||||||
add_compile_options(-fPIC)
|
|
||||||
set(BUILD_SHARED_LIBS OFF CACHE STRING "Build static assimp libs" FORCE)
|
set(BUILD_SHARED_LIBS OFF CACHE STRING "Build static assimp libs" FORCE)
|
||||||
set(ASSIMP_BUILD_ZLIB ON CACHE STRING "Build Zlib with assimp." FORCE)
|
set(ASSIMP_BUILD_ZLIB ON CACHE STRING "Build Zlib with assimp." FORCE)
|
||||||
set(
|
set(
|
||||||
@@ -175,6 +182,14 @@ if(QTK_SUBMODULES)
|
|||||||
"${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/"
|
"${CMAKE_CURRENT_SOURCE_DIR}/extern/assimp/assimp/"
|
||||||
EXCLUDE_FROM_ALL
|
EXCLUDE_FROM_ALL
|
||||||
)
|
)
|
||||||
|
install(
|
||||||
|
TARGETS assimp zlibstatic
|
||||||
|
EXPORT qtk_export
|
||||||
|
COMPONENT qtk
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
else()
|
else()
|
||||||
find_package(assimp REQUIRED)
|
find_package(assimp REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ The Ubuntu apt repositories contain all the packages we need to build all target
|
|||||||
To build Qtk desktop application with the scene in the screenshots below run the following commands.
|
To build Qtk desktop application with the scene in the screenshots below run the following commands.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt update && sudo apt install cmake build-essential git ccache libxkbcommon-dev libassimp-dev qt6-base-dev qt6-tools-dev
|
sudo apt update && sudo apt install cmake build-essential git ccache libxkbcommon-dev libassimp-dev qt6-base-dev qt6-tools-dev zlib1g-dev
|
||||||
cmake -DQTK_GUI_SCENE=ON -B build
|
cmake -DQTK_GUI_SCENE=ON -B build
|
||||||
cmake --build build
|
cmake --build build
|
||||||
./build/bin/qtk_gui
|
./build/bin/qtk_gui
|
||||||
|
|||||||
2
extern/assimp/assimp
vendored
2
extern/assimp/assimp
vendored
Submodule extern/assimp/assimp updated: 5d5496f1ad...e0b52347c6
Reference in New Issue
Block a user