diff options
author | Vitaliy Kirsanov <krokoziabla@yandex-team.ru> | 2019-04-29 12:48:24 +0300 |
---|---|---|
committer | Erik de Castro Lopo <erikd@mega-nerd.com> | 2019-05-04 11:41:48 +1000 |
commit | 573dbc12ae3fc68e8edea08842f5864c553cd311 (patch) | |
tree | b5d350a00d8b8b19dd10befe550fe5f86777416f /src/libFLAC/CMakeLists.txt | |
parent | 1cb968a7d45eea5f45451981c32df79e5b798739 (diff) | |
download | flac-573dbc12ae3fc68e8edea08842f5864c553cd311.tar.gz |
Use of BUILD_SHARED_LIBS added
Diffstat (limited to 'src/libFLAC/CMakeLists.txt')
-rw-r--r-- | src/libFLAC/CMakeLists.txt | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/src/libFLAC/CMakeLists.txt b/src/libFLAC/CMakeLists.txt index 16afbe73..0f287e0b 100644 --- a/src/libFLAC/CMakeLists.txt +++ b/src/libFLAC/CMakeLists.txt @@ -54,7 +54,9 @@ set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}") set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}") configure_file(flac.pc.in flac.pc @ONLY) -set(SOURCES +include_directories("include") + +add_library(FLAC bitmath.c bitreader.c bitwriter.c @@ -88,38 +90,28 @@ set(SOURCES $<$<BOOL:${OGG_FOUND}>:ogg_mapping.c> $<$<BOOL:${WIN32}>:windows_unicode_filenames.c>) if(TARGET FLAC-asm) - list(APPEND SOURCES $<TARGET_OBJECTS:FLAC-asm>) -endif() - -include_directories("include") - -add_library(FLAC-static STATIC ${SOURCES}) -target_compile_definitions(FLAC-static PUBLIC FLAC__NO_DLL) -target_include_directories(FLAC-static INTERFACE - "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>" - "$<INSTALL_INTERFACE:include>") -target_link_libraries(FLAC-static PUBLIC $<$<BOOL:${HAVE_LROUND}>:m>) -if(TARGET Ogg::Ogg-static) - target_link_libraries(FLAC-static PUBLIC Ogg::Ogg-static) -elseif(TARGET Ogg::Ogg) - target_link_libraries(FLAC-static PUBLIC Ogg::Ogg) + target_sources(FLAC PRIVATE $<TARGET_OBJECTS:FLAC-asm>) endif() -add_library(FLAC SHARED ${SOURCES}) -target_compile_definitions(FLAC PRIVATE FLAC_API_EXPORTS FLAC__USE_VISIBILITY_ATTR) +target_compile_definitions(FLAC + PRIVATE $<$<BOOL:${BUILD_SHARED_LIBS}>:FLAC_API_EXPORTS> + PRIVATE $<$<BOOL:${BUILD_SHARED_LIBS}>:FLAC__USE_VISIBILITY_ATTR> + PUBLIC $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:FLAC__NO_DLL>) target_include_directories(FLAC INTERFACE "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>" - "$<INSTALL_INTERFACE:include>") + "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>") target_link_libraries(FLAC PRIVATE $<$<BOOL:${HAVE_LROUND}>:m>) if(TARGET Ogg::Ogg) target_link_libraries(FLAC PUBLIC Ogg::Ogg) endif() -set_target_properties(FLAC PROPERTIES - C_VISIBILITY_PRESET hidden - VERSION 8.3.0 - SOVERSION 8) +if(BUILD_SHARED_LIBS) + set_target_properties(FLAC PROPERTIES + C_VISIBILITY_PRESET hidden + VERSION 8.3.0 + SOVERSION 8) +endif() -install(TARGETS FLAC FLAC-static EXPORT targets +install(TARGETS FLAC EXPORT targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/") |