Skip to content

Commit 2b6a9d8

Browse files
author
Sreeparna Deb
committed
macOS build: updates for rpath and homebrew FreeImage
1 parent 12c5066 commit 2b6a9d8

2 files changed

Lines changed: 22 additions & 11 deletions

File tree

CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,11 @@ target_link_libraries(${PROJECT} PRIVATE ManiVault::ImageData)
183183

184184
target_link_libraries(${PROJECT} PRIVATE FreeImage)
185185

186+
set_target_properties(${PROJECT} PROPERTIES
187+
INSTALL_RPATH "@executable_path/../Frameworks"
188+
INSTALL_RPATH_USE_LINK_PATH TRUE
189+
)
190+
186191
# -----------------------------------------------------------------------------
187192
# Target installation
188193
# -----------------------------------------------------------------------------

cmake/FindFreeImage.cmake

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,21 @@ if(TARGET FreeImage)
88
message(STATUS "Found FreeImage")
99
message(STATUS " Target : FreeImage")
1010
else()
11+
set(FREEIMAGE_CHECK_INCLUDE_DIRS)
12+
set(FREEIMAGE_CHECK_LIBRARY_DIRS)
13+
if(FREEIMAGE_INCLUDE_DIR_HINTS)
14+
list(APPEND FREEIMAGE_CHECK_INCLUDE_DIRS ${FREEIMAGE_INCLUDE_DIR_HINTS})
15+
endif()
1116
list(APPEND FREEIMAGE_CHECK_INCLUDE_DIRS
12-
${FREEIMAGE_INCLUDE_DIR_HINTS}
1317
/usr/include
1418
/usr/local/include
1519
/opt/homebrew/include
1620
)
1721

22+
if(FREEIMAGE_LIBRARY_DIR_HINTS)
23+
list(APPEND FREEIMAGE_CHECK_LIBRARY_DIRS ${FREEIMAGE_LIBRARY_DIR_HINTS})
24+
endif()
1825
list(APPEND FREEIMAGE_CHECK_LIBRARY_DIRS
19-
${FREEIMAGE_LIBRARY_DIR_HINTS}
2026
/usr/lib
2127
/usr/local/lib
2228
/opt/homebrew/lib
@@ -27,28 +33,28 @@ else()
2733
FreeImage.h
2834
PATHS
2935
${FREEIMAGE_CHECK_INCLUDE_DIRS})
30-
)
3136

3237
find_library(FreeImage_LIBRARIES
3338
NAMES
3439
freeimage
3540
PATHS
3641
${FREEIMAGE_CHECK_LIBRARY_DIRS})
37-
)
3842

39-
if(FREEIMAGE_INCLUDE_DIRS AND FREEIMAGE_LIBRARIES)
43+
if(FreeImage_INCLUDE_DIRS AND FreeImage_LIBRARIES)
4044
set(FREEIMAGE_FOUND TRUE)
4145

42-
add_library(FreeImage INTERFACE IMPORTED)
43-
target_include_directories(
44-
FreeImage INTERFACE ${FREEIMAGE_INCLUDE_DIRS})
45-
target_link_libraries(
46-
FreeImage INTERFACE ${FREEIMAGE_LIBRARIES})
46+
add_library(FreeImage SHARED IMPORTED)
47+
set_target_properties(FreeImage PROPERTIES
48+
IMPORTED_LOCATION "${FreeImage_LIBRARIES}"
49+
INTERFACE_INCLUDE_DIRECTORIES "${FreeImage_INCLUDE_DIRS}"
50+
)
4751

4852
message(STATUS "Found FreeImage")
4953
message(STATUS " Includes : ${FREEIMAGE_INCLUDE_DIRS}")
5054
message(STATUS " Libraries : ${FREEIMAGE_LIBRARIES}")
5155
else()
52-
message(FATAL_ERROR "Could not find FreeImage")
56+
message(WARNING "Searched include dirs: ${FREEIMAGE_CHECK_INCLUDE_DIRS}")
57+
message(WARNING "Searched lib dirs: ${FREEIMAGE_CHECK_LIBRARY_DIRS}")
58+
message(FATAL_ERROR "Could not find FreeImage")
5359
endif()
5460
endif()

0 commit comments

Comments
 (0)