Adapt DESKTOP_APP_USE_PACKAGED for macOS and proper usage of pkg-config
This commit is contained in:
parent
4a8061d2b0
commit
d5153dfd92
12 changed files with 51 additions and 48 deletions
3
external/dbusmenu_qt/CMakeLists.txt
vendored
3
external/dbusmenu_qt/CMakeLists.txt
vendored
|
|
@ -51,7 +51,8 @@ else()
|
|||
target_include_directories(external_dbusmenu_qt
|
||||
PUBLIC
|
||||
${dbusmenu_qt_loc}
|
||||
"${CMAKE_CURRENT_BINARY_DIR}")
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
|
||||
target_link_libraries(external_dbusmenu_qt
|
||||
PUBLIC
|
||||
|
|
|
|||
29
external/ffmpeg/CMakeLists.txt
vendored
29
external/ffmpeg/CMakeLists.txt
vendored
|
|
@ -10,27 +10,20 @@ add_library(desktop-app::external_ffmpeg ALIAS external_ffmpeg)
|
|||
if (DESKTOP_APP_USE_PACKAGED)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
pkg_check_modules(AVCODEC REQUIRED libavcodec)
|
||||
pkg_check_modules(AVFORMAT REQUIRED libavformat)
|
||||
pkg_check_modules(AVUTIL REQUIRED libavutil)
|
||||
pkg_check_modules(SWSCALE REQUIRED libswscale)
|
||||
pkg_check_modules(SWRESAMPLE REQUIRED libswresample)
|
||||
|
||||
target_include_directories(external_ffmpeg
|
||||
INTERFACE
|
||||
${AVCODEC_INCLUDE_DIRS}
|
||||
${AVFORMAT_INCLUDE_DIRS}
|
||||
${AVUTIL_INCLUDE_DIRS}
|
||||
${SWSCALE_INCLUDE_DIRS}
|
||||
${SWRESAMPLE_INCLUDE_DIRS})
|
||||
pkg_check_modules(AVCODEC REQUIRED IMPORTED_TARGET libavcodec)
|
||||
pkg_check_modules(AVFORMAT REQUIRED IMPORTED_TARGET libavformat)
|
||||
pkg_check_modules(AVUTIL REQUIRED IMPORTED_TARGET libavutil)
|
||||
pkg_check_modules(SWSCALE REQUIRED IMPORTED_TARGET libswscale)
|
||||
pkg_check_modules(SWRESAMPLE REQUIRED IMPORTED_TARGET libswresample)
|
||||
|
||||
target_link_libraries(external_ffmpeg
|
||||
INTERFACE
|
||||
${AVCODEC_LIBRARIES}
|
||||
${AVFORMAT_LIBRARIES}
|
||||
${AVUTIL_LIBRARIES}
|
||||
${SWSCALE_LIBRARIES}
|
||||
${SWRESAMPLE_LIBRARIES})
|
||||
PkgConfig::AVCODEC
|
||||
PkgConfig::AVFORMAT
|
||||
PkgConfig::AVUTIL
|
||||
PkgConfig::SWSCALE
|
||||
PkgConfig::SWRESAMPLE
|
||||
)
|
||||
else()
|
||||
target_include_directories(external_ffmpeg SYSTEM
|
||||
INTERFACE
|
||||
|
|
|
|||
5
external/hunspell/CMakeLists.txt
vendored
5
external/hunspell/CMakeLists.txt
vendored
|
|
@ -9,10 +9,9 @@ if (DESKTOP_APP_USE_PACKAGED)
|
|||
add_library(desktop-app::external_hunspell ALIAS external_hunspell)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(HUNSPELL REQUIRED hunspell)
|
||||
pkg_check_modules(HUNSPELL REQUIRED IMPORTED_TARGET hunspell)
|
||||
|
||||
target_include_directories(external_hunspell INTERFACE ${HUNSPELL_INCLUDE_DIRS})
|
||||
target_link_libraries(external_hunspell INTERFACE ${HUNSPELL_LIBRARIES})
|
||||
target_link_libraries(external_hunspell INTERFACE PkgConfig::HUNSPELL)
|
||||
else()
|
||||
add_library(external_hunspell OBJECT)
|
||||
add_library(desktop-app::external_hunspell ALIAS external_hunspell)
|
||||
|
|
|
|||
5
external/iconv/CMakeLists.txt
vendored
5
external/iconv/CMakeLists.txt
vendored
|
|
@ -7,7 +7,10 @@
|
|||
add_library(external_iconv INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_iconv ALIAS external_iconv)
|
||||
|
||||
if (APPLE AND NOT build_osx)
|
||||
if (APPLE AND DESKTOP_APP_USE_PACKAGED)
|
||||
find_package(Iconv REQUIRED)
|
||||
target_link_libraries(external_iconv INTERFACE Iconv::Iconv)
|
||||
elseif (APPLE AND NOT build_osx)
|
||||
target_link_libraries(external_iconv
|
||||
INTERFACE
|
||||
/usr/local/macos/lib/libiconv.a
|
||||
|
|
|
|||
5
external/lz4/CMakeLists.txt
vendored
5
external/lz4/CMakeLists.txt
vendored
|
|
@ -9,10 +9,9 @@ if (DESKTOP_APP_USE_PACKAGED)
|
|||
add_library(desktop-app::external_lz4 ALIAS external_lz4)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LZ4 liblz4)
|
||||
pkg_check_modules(LZ4 IMPORTED_TARGET liblz4)
|
||||
|
||||
target_include_directories(external_lz4 INTERFACE ${LZ4_INCLUDE_DIRS})
|
||||
target_link_libraries(external_lz4 INTERFACE ${LZ4_LIBRARIES})
|
||||
target_link_libraries(external_lz4 INTERFACE PkgConfig::LZ4)
|
||||
else()
|
||||
add_library(external_lz4 OBJECT)
|
||||
add_library(desktop-app::external_lz4 ALIAS external_lz4)
|
||||
|
|
|
|||
5
external/minizip/CMakeLists.txt
vendored
5
external/minizip/CMakeLists.txt
vendored
|
|
@ -9,10 +9,9 @@ add_library(desktop-app::external_minizip ALIAS external_minizip)
|
|||
|
||||
if (DESKTOP_APP_USE_PACKAGED)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(MINIZIP REQUIRED minizip)
|
||||
pkg_check_modules(MINIZIP REQUIRED IMPORTED_TARGET minizip)
|
||||
|
||||
target_include_directories(external_minizip INTERFACE ${MINIZIP_INCLUDE_DIRS})
|
||||
target_link_libraries(external_minizip INTERFACE ${MINIZIP_LIBRARIES})
|
||||
target_link_libraries(external_minizip INTERFACE PkgConfig::MINIZIP)
|
||||
elseif (NOT WIN32)
|
||||
add_library(external_minizip_bundled STATIC)
|
||||
init_target(external_minizip_bundled "(external)")
|
||||
|
|
|
|||
6
external/openssl/CMakeLists.txt
vendored
6
external/openssl/CMakeLists.txt
vendored
|
|
@ -9,7 +9,11 @@ add_library(desktop-app::external_openssl ALIAS external_openssl)
|
|||
|
||||
if (DESKTOP_APP_USE_PACKAGED)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
target_link_libraries(external_openssl INTERFACE OpenSSL::SSL)
|
||||
target_link_libraries(external_openssl
|
||||
INTERFACE
|
||||
OpenSSL::SSL
|
||||
OpenSSL::Crypto
|
||||
)
|
||||
else()
|
||||
if (LINUX)
|
||||
target_include_directories(external_openssl SYSTEM
|
||||
|
|
|
|||
12
external/opus/CMakeLists.txt
vendored
12
external/opus/CMakeLists.txt
vendored
|
|
@ -7,12 +7,7 @@
|
|||
add_library(external_opus INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_opus ALIAS external_opus)
|
||||
|
||||
if (DESKTOP_APP_USE_PACKAGED)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(OPUS opus)
|
||||
|
||||
target_include_directories(external_opus INTERFACE ${OPUS_INCLUDE_DIRS})
|
||||
else()
|
||||
if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
target_include_directories(external_opus SYSTEM
|
||||
INTERFACE
|
||||
${libs_loc}/opus/include
|
||||
|
|
@ -20,7 +15,10 @@ else()
|
|||
endif()
|
||||
|
||||
if (DESKTOP_APP_USE_PACKAGED)
|
||||
target_link_libraries(external_opus INTERFACE ${OPUS_LIBRARIES})
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(OPUS IMPORTED_TARGET opus)
|
||||
|
||||
target_link_libraries(external_opus INTERFACE PkgConfig::OPUS)
|
||||
elseif (WIN32)
|
||||
set(opus_lib_loc ${libs_loc}/opus/win32/VS2015/Win32/$<IF:$<CONFIG:Debug>,Debug,Release>)
|
||||
|
||||
|
|
|
|||
6
external/qt/CMakeLists.txt
vendored
6
external/qt/CMakeLists.txt
vendored
|
|
@ -21,7 +21,8 @@ if (DESKTOP_APP_USE_PACKAGED)
|
|||
Qt5::Core
|
||||
Qt5::Gui
|
||||
Qt5::Widgets
|
||||
Qt5::Network)
|
||||
Qt5::Network
|
||||
)
|
||||
|
||||
if (Qt5DBus_FOUND)
|
||||
target_link_libraries(external_qt INTERFACE Qt5::DBus)
|
||||
|
|
@ -30,7 +31,8 @@ if (DESKTOP_APP_USE_PACKAGED)
|
|||
target_include_directories(external_qt
|
||||
INTERFACE
|
||||
${Qt5Core_PRIVATE_INCLUDE_DIRS}
|
||||
${Qt5Gui_PRIVATE_INCLUDE_DIRS})
|
||||
${Qt5Gui_PRIVATE_INCLUDE_DIRS}
|
||||
)
|
||||
else()
|
||||
target_include_directories(external_qt SYSTEM
|
||||
INTERFACE
|
||||
|
|
|
|||
5
external/rlottie/CMakeLists.txt
vendored
5
external/rlottie/CMakeLists.txt
vendored
|
|
@ -9,9 +9,8 @@ if (DESKTOP_APP_USE_PACKAGED_RLOTTIE)
|
|||
add_library(desktop-app::external_rlottie ALIAS external_rlottie)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(RLOTTIE REQUIRED rlottie)
|
||||
target_include_directories(external_rlottie INTERFACE ${RLOTTIE_INCLUDE_DIRS})
|
||||
target_link_libraries(external_rlottie INTERFACE ${RLOTTIE_LIBRARIES})
|
||||
pkg_check_modules(RLOTTIE REQUIRED IMPORTED_TARGET rlottie)
|
||||
target_link_libraries(external_rlottie INTERFACE PkgConfig::RLOTTIE)
|
||||
else()
|
||||
add_library(external_rlottie OBJECT)
|
||||
add_library(desktop-app::external_rlottie ALIAS external_rlottie)
|
||||
|
|
|
|||
|
|
@ -38,9 +38,13 @@ function(init_target target_name) # init_target(my_target folder_name)
|
|||
XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_WEAK YES
|
||||
XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN YES
|
||||
XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES
|
||||
XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL $<IF:$<CONFIG:Debug>,0,fast>
|
||||
XCODE_ATTRIBUTE_LLVM_LTO $<IF:$<CONFIG:Debug>,NO,YES>
|
||||
)
|
||||
if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
set_target_properties(${target_name} PROPERTIES
|
||||
XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL $<IF:$<CONFIG:Debug>,0,fast>
|
||||
XCODE_ATTRIBUTE_LLVM_LTO $<IF:$<CONFIG:Debug>,NO,YES>
|
||||
)
|
||||
endif()
|
||||
if (WIN32 OR DESKTOP_APP_ENABLE_IPO_OPTIMIZATIONS)
|
||||
set_target_properties(${target_name} PROPERTIES
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELEASE True
|
||||
|
|
|
|||
|
|
@ -14,10 +14,12 @@ else()
|
|||
MAC_USE_BREAKPAD
|
||||
)
|
||||
endif()
|
||||
target_include_directories(common_options
|
||||
INTERFACE
|
||||
/usr/local/macos/include
|
||||
)
|
||||
if (NOT DESKTOP_APP_USE_PACKAGED)
|
||||
target_include_directories(common_options
|
||||
INTERFACE
|
||||
/usr/local/macos/include
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_compile_options(common_options
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue