1
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
2
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/../include ${NEON_INCLUDE_DIR})
4
SET(_sources Alias.cc Annotation.cc Artist.cc ArtistCredit.cc Attribute.cc CDStub.cc Collection.cc
5
Disc.cc Entity.cc FreeDBDisc.cc HTTPFetch.cc ISRC.cc Label.cc LabelInfo.cc Lifespan.cc List.cc
6
mb4_c.cc Medium.cc MediumList.cc Message.cc Metadata.cc NameCredit.cc NonMBTrack.cc PUID.cc
7
Query.cc Rating.cc Recording.cc Relation.cc RelationList.cc Release.cc ReleaseGroup.cc Tag.cc
8
TextRepresentation.cc Track.cc UserRating.cc UserTag.cc Work.cc xmlParser.cpp)
10
ADD_EXECUTABLE(make-c-interface make-c-interface.cc xmlParser.cpp)
13
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mb4_c.cc ${CMAKE_CURRENT_BINARY_DIR}/mb4_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz4/mb4_c.h
14
COMMAND make-c-interface ${CMAKE_CURRENT_SOURCE_DIR} cinterface.xml ${CMAKE_CURRENT_BINARY_DIR} mb4_c.cc mb4_c.h
15
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/mb4_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz4
16
DEPENDS make-c-interface cinterface.xml *.inc
19
ADD_CUSTOM_TARGET(src_gen DEPENDS mb4_c.h)
21
ADD_LIBRARY(musicbrainz4 SHARED ${_sources})
23
SET_TARGET_PROPERTIES(musicbrainz4 PROPERTIES
24
VERSION ${musicbrainz4_VERSION}
25
SOVERSION ${musicbrainz4_SOVERSION}
26
DEFINE_SYMBOL MB_API_EXPORTS
29
if(CMAKE_BUILD_TYPE STREQUAL Debug)
30
SET_TARGET_PROPERTIES(musicbrainz4 PROPERTIES
31
DEFINE_SYMBOL _MB4_DEBUG_
33
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -ggdb -O0")
34
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
36
TARGET_LINK_LIBRARIES(musicbrainz4 ${NEON_LIBRARIES})
39
TARGET_LINK_LIBRARIES(musicbrainz4 wsock32 winmm ws2_32)
42
IF(CMAKE_COMPILER_IS_GNUCXX)
43
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wextra -pedantic-errors")
44
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
46
INSTALL(TARGETS musicbrainz4 DESTINATION ${LIB_INSTALL_DIR})