Skip to content

Commit 4a07838

Browse files
committed
Avoid linking to PVRTexLib when PVRTC is disabled.
Only link to PVRTexLib if CUTTLEFISH_BUILD_PVRTC is set. This avoids situations where the include dirs and library variables may be set with a previous call to find. (e.g. toggling the option) Also avoid calling find_package(PVRTexLib) in the tool for the Mac rpath fixup unless PVRTC is enabled.
1 parent 820978c commit 4a07838

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

lib/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,17 @@ target_include_directories(cuttlefish_lib
8686
${BC7ENC_INCLUDE_DIRS}
8787
${ETC_INCLUDE_DIRS}
8888
${ASTC_INCLUDE_DIRS}
89-
${PVRTEXLIB_INCLUDE_DIRS}
9089
glm
9190
src)
92-
target_link_libraries(cuttlefish_lib
93-
PRIVATE ${FreeImage_LIBRARIES} ${PVRTEXLIB_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
91+
target_link_libraries(cuttlefish_lib PRIVATE ${FreeImage_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
9492
target_compile_definitions(cuttlefish_lib PUBLIC ${defines} PRIVATE ${privateDefines})
9593

9694
if (CUTTLEFISH_BUILD_PVRTC AND PVRTEXLIB_FOUND)
95+
# Delay linking to PVRTexLib to here in case CUTTLEFISH_BUILD_PVRTC was toggled and the include
96+
# dirs and library variables are still set.
97+
target_include_directories(cuttlefish_lib PRIVATE ${PVRTEXLIB_INCLUDE_DIRS})
98+
target_link_libraries(cuttlefish_lib PRIVATE ${PVRTEXLIB_LIBRARIES})
99+
97100
if (WIN32)
98101
get_filename_component(pvrTexLibDir ${PVRTEXLIB_LIB} DIRECTORY)
99102
set(pvrTexLibDll ${pvrTexLibDir}/PVRTexLib.dll)

lib/test/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ target_link_libraries(cuttlefish_test PRIVATE
1212
cuttlefish_lib
1313
${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
1414

15-
if (APPLE AND CUTTLEFISH_BUILD_PVRTC AND PVRTEXLIB_FOUND AND NOT CUTTLEFISH_SHARED)
15+
if (APPLE AND CUTTLEFISH_BUILD_PVRTC AND NOT CUTTLEFISH_SHARED AND PVRTEXLIB_FOUND)
1616
cfs_fixup_mac_dep(cuttlefish_test "@executable_path/../lib/libPVRTexLib.dylib"
1717
"@rpath/libPVRTexLib.dylib")
1818
endif()

tool/CMakeLists.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ target_link_libraries(cuttlefish PRIVATE cuttlefish_lib)
55

66
cfs_set_folder(cuttlefish tools)
77

8-
find_package(PVRTexLib QUIET)
9-
if (APPLE AND CUTTLEFISH_BUILD_PVRTC AND PVRTEXLIB_FOUND AND NOT CUTTLEFISH_SHARED)
10-
cfs_fixup_mac_dep(cuttlefish "@executable_path/../lib/libPVRTexLib.dylib"
11-
"@rpath/libPVRTexLib.dylib")
8+
if (APPLE AND CUTTLEFISH_BUILD_PVRTC AND NOT CUTTLEFISH_SHARED)
9+
find_package(PVRTexLib QUIET)
10+
if (PVRTEXLIB_FOUND)
11+
cfs_fixup_mac_dep(cuttlefish "@executable_path/../lib/libPVRTexLib.dylib"
12+
"@rpath/libPVRTexLib.dylib")
13+
endif()
1214
endif()
1315

1416
if (CUTTLEFISH_INSTALL)

0 commit comments

Comments
 (0)