summaryrefslogtreecommitdiff
path: root/src/libFLAC/CMakeLists.txt
diff options
context:
space:
mode:
authorVitaliy Kirsanov <krokoziabla@yandex-team.ru>2019-04-29 12:48:24 +0300
committerErik de Castro Lopo <erikd@mega-nerd.com>2019-05-04 11:41:48 +1000
commit573dbc12ae3fc68e8edea08842f5864c553cd311 (patch)
treeb5d350a00d8b8b19dd10befe550fe5f86777416f /src/libFLAC/CMakeLists.txt
parent1cb968a7d45eea5f45451981c32df79e5b798739 (diff)
downloadflac-573dbc12ae3fc68e8edea08842f5864c553cd311.tar.gz
Use of BUILD_SHARED_LIBS added
Diffstat (limited to 'src/libFLAC/CMakeLists.txt')
-rw-r--r--src/libFLAC/CMakeLists.txt40
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}/")