|
Packit |
f70c98 |
cmake_minimum_required(VERSION 2.6)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
PROJECT(libmusicbrainz5)
|
|
Packit |
f70c98 |
SET(PROJECT_VERSION 5.1.0)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
# 1. If the library source code has changed at all since the last update, then increment revision.
|
|
Packit |
f70c98 |
# 2. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
|
|
Packit |
f70c98 |
# 3. If any interfaces have been added since the last public release, then increment age.
|
|
Packit |
f70c98 |
# 4. If any interfaces have been removed since the last public release, then set age to 0.
|
|
Packit |
f70c98 |
SET(musicbrainz5_SOVERSION_CURRENT 1)
|
|
Packit |
f70c98 |
SET(musicbrainz5_SOVERSION_REVISION 0)
|
|
Packit |
f70c98 |
SET(musicbrainz5_SOVERSION_AGE 0)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
MATH(EXPR musicbrainz5_SOVERSION_MAJOR "${musicbrainz5_SOVERSION_CURRENT} - ${musicbrainz5_SOVERSION_AGE}")
|
|
Packit |
f70c98 |
MATH(EXPR musicbrainz5_SOVERSION_MINOR "${musicbrainz5_SOVERSION_AGE}")
|
|
Packit |
f70c98 |
MATH(EXPR musicbrainz5_SOVERSION_PATCH "${musicbrainz5_SOVERSION_REVISION}")
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
SET(musicbrainz5_VERSION ${musicbrainz5_SOVERSION_MAJOR}.${musicbrainz5_SOVERSION_MINOR}.${musicbrainz5_SOVERSION_PATCH})
|
|
Packit |
f70c98 |
SET(musicbrainz5_SOVERSION ${musicbrainz5_SOVERSION_MAJOR})
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
|
|
Packit |
f70c98 |
FIND_PACKAGE(Neon REQUIRED)
|
|
Packit |
f70c98 |
FIND_PACKAGE(LibXml2 REQUIRED)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
|
|
Packit |
f70c98 |
SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
|
|
Packit |
f70c98 |
SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE)
|
|
Packit |
f70c98 |
SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE)
|
|
Packit |
f70c98 |
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc)
|
|
Packit |
f70c98 |
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile)
|
|
Packit |
f70c98 |
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
FILE(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/include/musicbrainz5/*.h)
|
|
Packit |
f70c98 |
INSTALL(FILES ${headers} ${CMAKE_CURRENT_BINARY_DIR}/include/musicbrainz5/mb5_c.h DESTINATION ${INCLUDE_INSTALL_DIR}/musicbrainz5)
|
|
Packit |
f70c98 |
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
ADD_SUBDIRECTORY(src)
|
|
Packit |
f70c98 |
ADD_SUBDIRECTORY(tests)
|
|
Packit |
f70c98 |
ADD_SUBDIRECTORY(examples)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
ADD_CUSTOM_TARGET(docs
|
|
Packit |
f70c98 |
doxygen
|
|
Packit |
f70c98 |
)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
ADD_DEPENDENCIES(docs src_gen)
|
|
Packit |
f70c98 |
|
|
Packit |
f70c98 |
ADD_CUSTOM_TARGET(dist
|
|
Packit |
f70c98 |
rm -rf "libmusicbrainz-${PROJECT_VERSION}"
|
|
Packit |
f70c98 |
COMMAND git archive --prefix="libmusicbrainz-${PROJECT_VERSION}/" master | gzip -9 > libmusicbrainz-${PROJECT_VERSION}.tar.gz
|
|
Packit |
f70c98 |
)
|