From 0dfe23504c53fd6fd90895ce6e94981025ad3f3c Mon Sep 17 00:00:00 2001 From: Vitaliy Kirsanov Date: Sat, 21 Dec 2019 12:41:53 +0300 Subject: CMake: Handier way to find Iconv --- CMakeLists.txt | 3 +++ src/CMakeLists.txt | 4 ++-- src/libFLAC++/CMakeLists.txt | 12 ++++-------- src/libFLAC/CMakeLists.txt | 12 ++++-------- src/plugin_common/CMakeLists.txt | 3 +++ src/share/utf8/CMakeLists.txt | 5 ++--- 6 files changed, 18 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ad0a665a..560bb403 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,9 @@ if(WITH_OGG) find_package(OGG REQUIRED) endif() +find_package(Iconv) +set(HAVE_ICONV ${Iconv_FOUND}) + if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wnested-externs -Wshadow -Wundef -Wmissing-declarations -Winline") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -funroll-loops") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b64c578b..1e8a5de4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,8 +1,8 @@ +cmake_minimum_required(VERSION 3.11) + option(ENABLE_64_BIT_WORDS "Set FLAC__BYTES_PER_WORD to 8 (4 is the default)" OFF) option(WITH_XMMS "Build XMMS plugin" OFF) -check_include_file("iconv.h" HAVE_ICONV) - add_subdirectory("libFLAC") if(BUILD_CXXLIBS) add_subdirectory("libFLAC++") diff --git a/src/libFLAC++/CMakeLists.txt b/src/libFLAC++/CMakeLists.txt index b94b1a3b..04b721f3 100644 --- a/src/libFLAC++/CMakeLists.txt +++ b/src/libFLAC++/CMakeLists.txt @@ -26,9 +26,7 @@ target_compile_definitions(FLAC++ PRIVATE $<$:FLACPP_API_EXPORTS> PUBLIC $<$>:FLAC__NO_DLL>) if(NOT WIN32) -target_compile_definitions(FLAC++ - PRIVATE $<$:FLAC__USE_VISIBILITY_ATTR> -) + target_compile_definitions(FLAC++ PRIVATE $<$:FLAC__USE_VISIBILITY_ATTR>) endif() target_include_directories(FLAC++ INTERFACE "$" @@ -38,11 +36,9 @@ if(BUILD_SHARED_LIBS) set_target_properties(FLAC++ PROPERTIES VERSION 6.3.0 SOVERSION 6) -if(NOT WIN32) - set_target_properties(FLAC++ PROPERTIES - CXX_VISIBILITY_PRESET hidden - ) -endif() + if(NOT WIN32) + set_target_properties(FLAC++ PROPERTIES CXX_VISIBILITY_PRESET hidden) + endif() endif() install(TARGETS FLAC++ EXPORT targets diff --git a/src/libFLAC/CMakeLists.txt b/src/libFLAC/CMakeLists.txt index f22cc398..ad9405e7 100644 --- a/src/libFLAC/CMakeLists.txt +++ b/src/libFLAC/CMakeLists.txt @@ -97,9 +97,7 @@ target_compile_definitions(FLAC PRIVATE $<$:FLAC_API_EXPORTS> PUBLIC $<$>:FLAC__NO_DLL>) if(NOT WIN32) -target_compile_definitions(FLAC - PRIVATE $<$:FLAC__USE_VISIBILITY_ATTR> -) + target_compile_definitions(FLAC PRIVATE $<$:FLAC__USE_VISIBILITY_ATTR>) endif() target_include_directories(FLAC INTERFACE "$" @@ -112,11 +110,9 @@ if(BUILD_SHARED_LIBS) set_target_properties(FLAC PROPERTIES VERSION 8.3.0 SOVERSION 8) -if(NOT WIN32) - set_target_properties(FLAC PROPERTIES - C_VISIBILITY_PRESET hidden - ) -endif() + if(NOT WIN32) + set_target_properties(FLAC PROPERTIES C_VISIBILITY_PRESET hidden) + endif() endif() diff --git a/src/plugin_common/CMakeLists.txt b/src/plugin_common/CMakeLists.txt index b5c72c92..e5e6d849 100644 --- a/src/plugin_common/CMakeLists.txt +++ b/src/plugin_common/CMakeLists.txt @@ -1,5 +1,8 @@ +cmake_minimum_required(VERSION 3.12) + add_library(plugin_common STATIC charset.c dither.c replaygain.c tags.c) +target_link_libraries(plugin_common PUBLIC $) diff --git a/src/share/utf8/CMakeLists.txt b/src/share/utf8/CMakeLists.txt index 2e2b3c62..389b09e2 100644 --- a/src/share/utf8/CMakeLists.txt +++ b/src/share/utf8/CMakeLists.txt @@ -1,9 +1,8 @@ -set(CMAKE_REQUIRED_LIBRARIES iconv) -check_symbol_exists(iconv "iconv.h" HAVE_ICONV_LIB) +cmake_minimum_required(VERSION 3.12) add_library(utf8 STATIC charset.c iconvert.c utf8.c) -target_link_libraries(utf8 PUBLIC grabbag $<$:iconv>) +target_link_libraries(utf8 PUBLIC grabbag $) -- cgit v1.2.1