libragephoto: impl. linked iconv support
This commit is contained in:
parent
aad0db247b
commit
9322e1943d
2 changed files with 37 additions and 18 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#[[**************************************************************************
|
||||
* libragephoto RAGE Photo Parser
|
||||
* Copyright (C) 2021-2024 Syping
|
||||
* Copyright (C) 2021-2025 Syping
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
|
|
@ -17,17 +17,31 @@
|
|||
****************************************************************************]]
|
||||
|
||||
set(RAGEPHOTO_UNICODE "" CACHE STRING "libragephoto Unicode implementation")
|
||||
set(RAGEPHOTO_UNICODE_LIBRARIES "" CACHE STRING "libragephoto Unicode libraries")
|
||||
if (RAGEPHOTO_UNICODE)
|
||||
string(TOUPPER "UNICODE_${RAGEPHOTO_UNICODE}" UNICODE_DEF)
|
||||
list(APPEND LIBRAGEPHOTO_DEFINES
|
||||
"${UNICODE_DEF}"
|
||||
${UNICODE_DEF}
|
||||
)
|
||||
list(APPEND LIBRAGEPHOTO_LIBRARIES
|
||||
${RAGEPHOTO_UNICODE_LIBRARIES}
|
||||
)
|
||||
message("-- UnicodeCvt - ${RAGEPHOTO_UNICODE}")
|
||||
else()
|
||||
# RagePhoto test source files
|
||||
if (RAGEPHOTO_C_LIBRARY)
|
||||
set(ICONV_SOURCE "${PROJECT_SOURCE_DIR}/tests/IconvTest.c")
|
||||
set(WINCVT_SOURCE "${PROJECT_SOURCE_DIR}/tests/WincvtTest.c")
|
||||
else()
|
||||
set(CODECVT_SOURCE "${PROJECT_SOURCE_DIR}/tests/CodecvtTest.cpp")
|
||||
set(ICONV_SOURCE "${PROJECT_SOURCE_DIR}/tests/IconvTest.cpp")
|
||||
set(WINCVT_SOURCE "${PROJECT_SOURCE_DIR}/tests/WincvtTest.cpp")
|
||||
endif()
|
||||
|
||||
# RagePhoto Unicode functionality tests
|
||||
if (NOT RAGEPHOTO_C_LIBRARY)
|
||||
message("-- Testing codecvt")
|
||||
try_run(CODECVT_RUN CODECVT_COMPILE "${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/tests/CodecvtTest.cpp")
|
||||
try_run(CODECVT_RUN CODECVT_COMPILE "${PROJECT_BINARY_DIR}" ${CODECVT_SOURCE})
|
||||
if (CODECVT_COMPILE AND CODECVT_RUN EQUAL 0)
|
||||
set(CODECVT_COMPAT TRUE)
|
||||
message("-- Testing codecvt - yes")
|
||||
|
|
@ -37,25 +51,24 @@ else()
|
|||
endif()
|
||||
|
||||
message("-- Testing iconv")
|
||||
if (RAGEPHOTO_C_LIBRARY)
|
||||
try_run(ICONV_RUN ICONV_COMPILE "${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/tests/IconvTest.c")
|
||||
else()
|
||||
try_run(ICONV_RUN ICONV_COMPILE "${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/tests/IconvTest.cpp")
|
||||
endif()
|
||||
try_run(ICONV_RUN ICONV_COMPILE "${PROJECT_BINARY_DIR}" "${ICONV_SOURCE}")
|
||||
if (ICONV_COMPILE AND ICONV_RUN EQUAL 0)
|
||||
set(ICONV_COMPAT TRUE)
|
||||
message("-- Testing iconv - yes")
|
||||
else()
|
||||
message("-- Testing iconv - no")
|
||||
try_run(ICONV_RUN ICONV_COMPILE "${PROJECT_BINARY_DIR}" "${ICONV_SOURCE}" LINK_LIBRARIES iconv)
|
||||
if (ICONV_COMPILE AND ICONV_RUN EQUAL 0)
|
||||
set(ICONV_COMPAT TRUE)
|
||||
set(ICONV_LINKED TRUE)
|
||||
message("-- Testing iconv - yes (linked)")
|
||||
else()
|
||||
message("-- Testing iconv - no")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
message("-- Testing wincvt")
|
||||
if (RAGEPHOTO_C_LIBRARY)
|
||||
try_run(WINCVT_RUN WINCVT_COMPILE "${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/tests/WincvtTest.c")
|
||||
else()
|
||||
try_run(WINCVT_RUN WINCVT_COMPILE "${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/tests/WincvtTest.cpp")
|
||||
endif()
|
||||
try_run(WINCVT_RUN WINCVT_COMPILE "${PROJECT_BINARY_DIR}" "${WINCVT_SOURCE}")
|
||||
if (WINCVT_COMPILE AND WINCVT_RUN EQUAL 0)
|
||||
set(WINCVT_COMPAT TRUE)
|
||||
message("-- Testing wincvt - yes")
|
||||
|
|
@ -67,18 +80,23 @@ else()
|
|||
# Unicode implementation for RagePhoto
|
||||
if (WINCVT_COMPAT)
|
||||
list(APPEND LIBRAGEPHOTO_DEFINES
|
||||
"UNICODE_WINCVT"
|
||||
UNICODE_WINCVT
|
||||
)
|
||||
message("-- UnicodeCvt - wincvt")
|
||||
elseif (CODECVT_COMPAT AND NOT RAGEPHOTO_C_LIBRARY)
|
||||
list(APPEND LIBRAGEPHOTO_DEFINES
|
||||
"UNICODE_CODECVT"
|
||||
UNICODE_CODECVT
|
||||
)
|
||||
message("-- UnicodeCvt - codecvt")
|
||||
elseif (ICONV_COMPAT)
|
||||
list(APPEND LIBRAGEPHOTO_DEFINES
|
||||
"UNICODE_ICONV"
|
||||
UNICODE_ICONV
|
||||
)
|
||||
if (ICONV_LINKED)
|
||||
list(APPEND LIBRAGEPHOTO_LIBRARIES
|
||||
iconv
|
||||
)
|
||||
endif()
|
||||
message("-- UnicodeCvt - iconv")
|
||||
else()
|
||||
message("-- UnicodeCvt - none")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue