cmake: Replace CMath::CMath with direct link to avoid export of target

Link with CMATH_LIBRARIES instead of CMath::CMath.  While this
will still be exported, it will be available on the host system.
This commit is contained in:
Roger Leigh
2023-12-14 18:30:31 +00:00
parent 3705f82b64
commit 67f73084ca
4 changed files with 18 additions and 15 deletions

View File

@@ -55,18 +55,12 @@ if(CMath_FOUND)
set(CMath_INCLUDE_DIRS)
endif()
if(NOT CMath_LIBRARIES)
if(NOT CMath_LIBRARY)
unset(CMath_LIBRARY)
endif()
if (CMath_LIBRARY)
set(CMath_LIBRARIES ${CMath_LIBRARY})
endif()
endif()
if(NOT TARGET CMath::CMath)
if(CMath_LIBRARIES)
add_library(CMath::CMath UNKNOWN IMPORTED)
set_target_properties(CMath::CMath PROPERTIES
IMPORTED_LOCATION "${CMath_LIBRARY}")
else()
add_library(CMath::CMath INTERFACE IMPORTED)
endif()
endif()
endif()

View File

@@ -26,13 +26,19 @@ add_executable(tiff-bi tiff-bi.c)
target_link_libraries(tiff-bi tiff tiff_port)
add_executable(tiff-grayscale tiff-grayscale.c)
target_link_libraries(tiff-grayscale tiff tiff_port CMath::CMath)
target_link_libraries(tiff-grayscale PRIVATE tiff tiff_port)
if(CMath_LIBRARIES)
target_link_libraries(tiff-grayscale PRIVATE ${CMath_LIBRARIES})
endif()
add_executable(tiff-palette tiff-palette.c)
target_link_libraries(tiff-palette tiff tiff_port)
add_executable(tiff-rgb tiff-rgb.c)
target_link_libraries(tiff-rgb tiff tiff_port CMath::CMath)
target_link_libraries(tiff-rgb PRIVATE tiff tiff_port)
if(CMath_LIBRARIES)
target_link_libraries(tiff-rgb PRIVATE ${CMath_LIBRARIES})
endif()
if(WEBP_SUPPORT AND EMSCRIPTEN)
# Emscripten is pretty finnicky about linker flags.

View File

@@ -184,9 +184,9 @@ if(WEBP_SUPPORT)
target_link_libraries(tiff PRIVATE WebP::webp)
string(APPEND tiff_requires_private " libwebp")
endif()
if(CMath_LIBRARY)
target_link_libraries(tiff PRIVATE CMath::CMath)
list(APPEND tiff_libs_private_list "${CMath_LIBRARY}")
if(CMath_LIBRARIES)
target_link_libraries(tiff PRIVATE ${CMath_LIBRARIES})
list(APPEND tiff_libs_private_list "${CMath_LIBRARIES}")
endif()
set(tiff_libs_private_list "${tiff_libs_private_list}" PARENT_SCOPE)

View File

@@ -38,7 +38,10 @@ target_link_libraries(tiff2pdf PRIVATE tiff tiff_port)
add_executable(tiff2ps ../../placeholder.h)
target_sources(tiff2ps PRIVATE tiff2ps.c ${MSVC_RESSOURCE_FILE})
target_link_libraries(tiff2ps PRIVATE tiff tiff_port CMath::CMath)
target_link_libraries(tiff2ps PRIVATE tiff tiff_port)
if(CMath_LIBRARIES)
target_link_libraries(tiff2ps PRIVATE ${CMath_LIBRARIES})
endif()
# rgb2ycbcr and thumbnail are intended to *NOT* be installed. They are for
# testing purposes only.