add version features
This commit is contained in:
parent
1be4ae5e4a
commit
2fcc5b0ba7
4 changed files with 48 additions and 6 deletions
|
@ -17,7 +17,7 @@
|
||||||
****************************************************************************]]
|
****************************************************************************]]
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.7)
|
cmake_minimum_required(VERSION 3.7)
|
||||||
project(ragephoto VERSION 0.1 LANGUAGES CXX)
|
project(ragephoto VERSION 0.1.0 LANGUAGES CXX)
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
@ -25,7 +25,7 @@ set(CMAKE_CXX_STANDARD 11)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
message("-- Testing codecvt")
|
message("-- Testing codecvt")
|
||||||
try_run(CODECVT_RUN CODECVT_COMPILE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/tests/CodecvtTest.cpp)
|
try_run(CODECVT_RUN CODECVT_COMPILE ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/tests/CodecvtTest.cpp)
|
||||||
if (CODECVT_COMPILE AND CODECVT_RUN EQUAL 0)
|
if (CODECVT_COMPILE AND CODECVT_RUN EQUAL 0)
|
||||||
list(APPEND LIBRAGEPHOTO_DEFINES
|
list(APPEND LIBRAGEPHOTO_DEFINES
|
||||||
CODECVT_COMPATIBLE
|
CODECVT_COMPATIBLE
|
||||||
|
@ -36,7 +36,7 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
message("-- Testing iconv")
|
message("-- Testing iconv")
|
||||||
try_run(ICONV_RUN ICONV_COMPILE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/tests/IconvTest.cpp)
|
try_run(ICONV_RUN ICONV_COMPILE ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/tests/IconvTest.cpp)
|
||||||
if (ICONV_COMPILE AND ICONV_RUN EQUAL 0)
|
if (ICONV_COMPILE AND ICONV_RUN EQUAL 0)
|
||||||
list(APPEND LIBRAGEPHOTO_DEFINES
|
list(APPEND LIBRAGEPHOTO_DEFINES
|
||||||
ICONV_COMPATIBLE
|
ICONV_COMPATIBLE
|
||||||
|
@ -81,7 +81,7 @@ endif()
|
||||||
|
|
||||||
configure_file(src/libragephoto_global.h.in include/libragephoto_global.h @ONLY)
|
configure_file(src/libragephoto_global.h.in include/libragephoto_global.h @ONLY)
|
||||||
list(APPEND RAGEPHOTO_HEADERS
|
list(APPEND RAGEPHOTO_HEADERS
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/include/libragephoto_global.h
|
${PROJECT_BINARY_DIR}/include/libragephoto_global.h
|
||||||
)
|
)
|
||||||
configure_file(src/ragephoto.pc.in pkgconfig/ragephoto.pc @ONLY)
|
configure_file(src/ragephoto.pc.in pkgconfig/ragephoto.pc @ONLY)
|
||||||
target_compile_definitions(ragephoto PRIVATE
|
target_compile_definitions(ragephoto PRIVATE
|
||||||
|
@ -89,11 +89,11 @@ target_compile_definitions(ragephoto PRIVATE
|
||||||
${LIBRAGEPHOTO_DEFINES}
|
${LIBRAGEPHOTO_DEFINES}
|
||||||
)
|
)
|
||||||
target_include_directories(ragephoto PUBLIC
|
target_include_directories(ragephoto PUBLIC
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/include
|
${PROJECT_BINARY_DIR}/include
|
||||||
)
|
)
|
||||||
install(TARGETS ragephoto DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
install(TARGETS ragephoto DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
install(FILES ${RAGEPHOTO_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/RagePhoto)
|
install(FILES ${RAGEPHOTO_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/RagePhoto)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/ragephoto.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
install(FILES ${PROJECT_BINARY_DIR}/pkgconfig/ragephoto.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||||
|
|
||||||
option(WITH_DOCUMENTATION "Build libragephoto with documentation" OFF)
|
option(WITH_DOCUMENTATION "Build libragephoto with documentation" OFF)
|
||||||
if (WITH_DOCUMENTATION)
|
if (WITH_DOCUMENTATION)
|
||||||
|
|
|
@ -457,6 +457,11 @@ const std::string& RagePhoto::title() const
|
||||||
return m_data.title;
|
return m_data.title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* RagePhoto::version()
|
||||||
|
{
|
||||||
|
return RAGEPHOTO_VERSION;
|
||||||
|
}
|
||||||
|
|
||||||
bool RagePhoto::save(char *data, uint32_t photoFormat)
|
bool RagePhoto::save(char *data, uint32_t photoFormat)
|
||||||
{
|
{
|
||||||
if (photoFormat == PhotoFormat::GTA5 || photoFormat == PhotoFormat::RDR2) {
|
if (photoFormat == PhotoFormat::GTA5 || photoFormat == PhotoFormat::RDR2) {
|
||||||
|
@ -916,6 +921,12 @@ int ragephoto_load(ragephoto_t instance, const char *data, size_t size)
|
||||||
return ragePhoto->load(data, size);
|
return ragePhoto->load(data, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ragephoto_loadfile(ragephoto_t instance, const char *filename)
|
||||||
|
{
|
||||||
|
RagePhoto *ragePhoto = static_cast<RagePhoto*>(instance);
|
||||||
|
return ragePhoto->loadFile(filename);
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t ragephoto_error(ragephoto_t instance)
|
uint8_t ragephoto_error(ragephoto_t instance)
|
||||||
{
|
{
|
||||||
RagePhoto *ragePhoto = static_cast<RagePhoto*>(instance);
|
RagePhoto *ragePhoto = static_cast<RagePhoto*>(instance);
|
||||||
|
@ -996,6 +1007,12 @@ int ragephoto_save(ragephoto_t instance, char *data)
|
||||||
return ragePhoto->save(data);
|
return ragePhoto->save(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ragephoto_savefile(ragephoto_t instance, const char *filename)
|
||||||
|
{
|
||||||
|
RagePhoto *ragePhoto = static_cast<RagePhoto*>(instance);
|
||||||
|
return ragePhoto->saveFile(filename);
|
||||||
|
}
|
||||||
|
|
||||||
void ragephoto_setbufferdefault(ragephoto_t instance)
|
void ragephoto_setbufferdefault(ragephoto_t instance)
|
||||||
{
|
{
|
||||||
RagePhoto *ragePhoto = static_cast<RagePhoto*>(instance);
|
RagePhoto *ragePhoto = static_cast<RagePhoto*>(instance);
|
||||||
|
@ -1049,4 +1066,9 @@ void ragephoto_close(ragephoto_t instance)
|
||||||
RagePhoto *ragePhoto = static_cast<RagePhoto*>(instance);
|
RagePhoto *ragePhoto = static_cast<RagePhoto*>(instance);
|
||||||
delete ragePhoto;
|
delete ragePhoto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* ragephoto_version()
|
||||||
|
{
|
||||||
|
return RAGEPHOTO_VERSION;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -116,6 +116,7 @@ public:
|
||||||
const std::string& json() const; /**< Returns the Photo JSON data. */
|
const std::string& json() const; /**< Returns the Photo JSON data. */
|
||||||
const std::string& header() const; /**< Returns the Photo header. */
|
const std::string& header() const; /**< Returns the Photo header. */
|
||||||
const std::string& title() const; /**< Returns the Photo title. */
|
const std::string& title() const; /**< Returns the Photo title. */
|
||||||
|
static const char* version(); /**< Returns the library version. */
|
||||||
/** Saves a Photo to a char*.
|
/** Saves a Photo to a char*.
|
||||||
* \param data Photo data
|
* \param data Photo data
|
||||||
* \param photoFormat Photo Format (GTA V or RDR 2)
|
* \param photoFormat Photo Format (GTA V or RDR 2)
|
||||||
|
@ -196,6 +197,12 @@ LIBRAGEPHOTO_EXPORT ragephoto_t ragephoto_open();
|
||||||
*/
|
*/
|
||||||
LIBRAGEPHOTO_EXPORT int ragephoto_load(ragephoto_t instance, const char *data, size_t size);
|
LIBRAGEPHOTO_EXPORT int ragephoto_load(ragephoto_t instance, const char *data, size_t size);
|
||||||
|
|
||||||
|
/** Loads a Photo from a file.
|
||||||
|
* \param instance \p ragephoto_t instance
|
||||||
|
* \param filename File to load
|
||||||
|
*/
|
||||||
|
LIBRAGEPHOTO_EXPORT int ragephoto_loadfile(ragephoto_t instance, const char *filename);
|
||||||
|
|
||||||
/** Returns the last error occurred.
|
/** Returns the last error occurred.
|
||||||
* \param instance \p ragephoto_t instance
|
* \param instance \p ragephoto_t instance
|
||||||
*/
|
*/
|
||||||
|
@ -259,6 +266,12 @@ LIBRAGEPHOTO_EXPORT size_t ragephoto_getsavesize(ragephoto_t instance);
|
||||||
*/
|
*/
|
||||||
LIBRAGEPHOTO_EXPORT int ragephoto_save(ragephoto_t instance, char *data);
|
LIBRAGEPHOTO_EXPORT int ragephoto_save(ragephoto_t instance, char *data);
|
||||||
|
|
||||||
|
/** Saves a Photo to a file.
|
||||||
|
* \param instance \p ragephoto_t instance
|
||||||
|
* \param filename File to save
|
||||||
|
*/
|
||||||
|
LIBRAGEPHOTO_EXPORT int ragephoto_savefile(ragephoto_t instance, const char *filename);
|
||||||
|
|
||||||
/** Sets all cross-format Buffer to default size.
|
/** Sets all cross-format Buffer to default size.
|
||||||
* \param instance \p ragephoto_t instance
|
* \param instance \p ragephoto_t instance
|
||||||
*/
|
*/
|
||||||
|
@ -312,6 +325,9 @@ LIBRAGEPHOTO_EXPORT void ragephoto_setphototitle(ragephoto_t instance, const cha
|
||||||
*/
|
*/
|
||||||
LIBRAGEPHOTO_EXPORT void ragephoto_close(ragephoto_t instance);
|
LIBRAGEPHOTO_EXPORT void ragephoto_close(ragephoto_t instance);
|
||||||
|
|
||||||
|
/** Returns the library version. */
|
||||||
|
LIBRAGEPHOTO_EXPORT const char* ragephoto_version();
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -22,6 +22,10 @@
|
||||||
/* CMAKE CONFIG BEGIN */
|
/* CMAKE CONFIG BEGIN */
|
||||||
#define @LIBRAGEPHOTO_API@
|
#define @LIBRAGEPHOTO_API@
|
||||||
#define @LIBRAGEPHOTO_LIBTYPE@
|
#define @LIBRAGEPHOTO_LIBTYPE@
|
||||||
|
#define RAGEPHOTO_VERSION "@PROJECT_VERSION@"
|
||||||
|
#define RAGEPHOTO_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
|
||||||
|
#define RAGEPHOTO_VERSION_MINOR @PROJECT_VERSION_MINOR@
|
||||||
|
#define RAGEPHOTO_VERSION_PATCH @PROJECT_VERSION_PATCH@
|
||||||
/* CMAKE CONFIG END */
|
/* CMAKE CONFIG END */
|
||||||
|
|
||||||
/* RAGEPHOTO LIBRARY EXPORT BEGIN */
|
/* RAGEPHOTO LIBRARY EXPORT BEGIN */
|
||||||
|
|
Loading…
Reference in a new issue