#[[************************************************************************** * libragephoto RAGE Photo Parser * Copyright (C) 2021-2024 Syping * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * This software is provided as-is, no warranties are given to you, we are not * responsible for anything with use of the software, you are self responsible. ****************************************************************************]] set(RAGEPHOTO_UNICODE "" CACHE STRING "libragephoto Unicode implementation") if (RAGEPHOTO_UNICODE) string(TOUPPER "UNICODE_${RAGEPHOTO_UNICODE}" UNICODE_DEF) list(APPEND LIBRAGEPHOTO_DEFINES "${UNICODE_DEF}" ) message("-- UnicodeCvt - ${RAGEPHOTO_UNICODE}") else() # 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") if (CODECVT_COMPILE AND CODECVT_RUN EQUAL 0) set(CODECVT_COMPAT TRUE) message("-- Testing codecvt - yes") else() message("-- Testing codecvt - no") endif() 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() if (ICONV_COMPILE AND ICONV_RUN EQUAL 0) set(ICONV_COMPAT TRUE) message("-- Testing iconv - yes") else() message("-- Testing iconv - no") 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() if (WINCVT_COMPILE AND WINCVT_RUN EQUAL 0) set(WINCVT_COMPAT TRUE) message("-- Testing wincvt - yes") else() message("-- Testing wincvt - no") endif() endif() # Unicode implementation for RagePhoto if (WINCVT_COMPAT) list(APPEND LIBRAGEPHOTO_DEFINES "UNICODE_WINCVT" ) message("-- UnicodeCvt - wincvt") elseif (CODECVT_COMPAT AND NOT RAGEPHOTO_C_LIBRARY) list(APPEND LIBRAGEPHOTO_DEFINES "UNICODE_CODECVT" ) message("-- UnicodeCvt - codecvt") elseif (ICONV_COMPAT) list(APPEND LIBRAGEPHOTO_DEFINES "UNICODE_ICONV" ) message("-- UnicodeCvt - iconv") else() message("-- UnicodeCvt - none") endif() endif()