mirror of
https://github.com/clangen/musikcube.git
synced 2024-10-01 20:42:13 +00:00
More work towards static linking. Things seme to work except the server.
This commit is contained in:
parent
4aea14d30a
commit
e357a1fd9d
@ -5,7 +5,7 @@ if (${LINK_STATICALLY} MATCHES "true")
|
||||
set(BOOST_INCLUDEDIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/boost-bin/include")
|
||||
set(BOOST_LIBRARYDIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/boost-bin/lib")
|
||||
set(Boost_NO_SYSTEM_PATHS ON)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
#set(Boost_USE_STATIC_LIBS ON)
|
||||
set(Boost_NO_BOOST_CMAKE ON)
|
||||
|
||||
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/vendor/ffmpeg-bin/include")
|
||||
@ -19,6 +19,9 @@ if (${LINK_STATICALLY} MATCHES "true")
|
||||
|
||||
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/vendor/zlib-bin/include")
|
||||
link_directories("${CMAKE_CURRENT_SOURCE_DIR}/vendor/zlib-bin/lib")
|
||||
|
||||
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/vendor/curl-bin/include")
|
||||
link_directories("${CMAKE_CURRENT_SOURCE_DIR}/vendor/curl-bin/lib")
|
||||
else()
|
||||
message(STATUS "[static linking] static linking NOT enabled!")
|
||||
endif()
|
@ -35,7 +35,7 @@ include_directories(
|
||||
# our library directories
|
||||
link_directories("${musikcube_SOURCE_DIR}/bin/plugins")
|
||||
|
||||
find_package(Boost 1.55.0 REQUIRED system filesystem thread)
|
||||
find_package(Boost 1.55.0 REQUIRED filesystem thread)
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
message(STATUS "[boost] libs: " ${Boost_LIBRARIES})
|
||||
message(STATUS "[boost] includes: " ${Boost_INCLUDE_DIRS})
|
||||
@ -45,11 +45,13 @@ ensure_library_exists(pthread)
|
||||
ensure_library_exists(ssl)
|
||||
ensure_library_exists(crypto)
|
||||
ensure_library_exists(z)
|
||||
find_library(LIBCURL NAMES curl)
|
||||
find_library(LIBPTHREAD NAMES pthread)
|
||||
find_library(LIBSSL NAMES ssl)
|
||||
find_library(LIBCRYPTO NAMES crypto)
|
||||
set(COMMON_LINK_LIBS ${Boost_LIBRARIES} ${LIBCURL} ${LIBPTHREAD} ${LIBSSL} ${LIBCRYPTO})
|
||||
find_library(LIBCURL NAMES libcurl.a)
|
||||
find_library(LIBPTHREAD NAMES libpthread.a)
|
||||
find_library(LIBSSL NAMES libssl.a)
|
||||
find_library(LIBCRYPTO NAMES libcrypto.a)
|
||||
find_library(LIBZ NAMES libz.a)
|
||||
|
||||
set(COMMON_LINK_LIBS ${Boost_LIBRARIES} ${LIBCURL} ${LIBPTHREAD} ${LIBSSL} ${LIBCRYPTO} ${LIBZ})
|
||||
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
find_library(LIBDL NAMES dl)
|
||||
@ -66,7 +68,7 @@ endif()
|
||||
message(STATUS "[build] musikcube_LINK_LIBS: ${musikcube_LINK_LIBS}")
|
||||
|
||||
add_subdirectory(src/musikcore)
|
||||
add_subdirectory(src/core_c_demo)
|
||||
#add_subdirectory(src/core_c_demo)
|
||||
add_subdirectory(src/musikcube)
|
||||
add_subdirectory(src/musikcubed)
|
||||
add_subdirectory(src/plugins/taglib_plugin)
|
||||
|
@ -233,3 +233,14 @@ make install
|
||||
mv output ../zlib-bin
|
||||
cd ..
|
||||
|
||||
#
|
||||
# stage
|
||||
#
|
||||
|
||||
mkdir -p bin/plugins/
|
||||
cp vendor/boost-bin/lib/libboost_filesystem.so.1.78.0 ./bin/
|
||||
cp vendor/boost-bin/lib/libboost_thread.so.1.78.0 ./bin/
|
||||
cp vendor/ffmpeg-bin/lib/libavcodec-musikcube.so.59 ./bin/plugins/
|
||||
cp vendor/ffmpeg-bin/lib/libavformat-musikcube.so.59 ./bin/plugins
|
||||
cp vendor/ffmpeg-bin/lib/libavutil-musikcube.so.57 ./bin/plugins
|
||||
cp vendor/ffmpeg-bin/lib/libswresample-musikcube.so.4 ./bin/plugins
|
||||
|
@ -87,6 +87,7 @@ set_target_properties(musikcore PROPERTIES
|
||||
LIBRARY_OUTPUT_DIRECTORY ${musikcube_SOURCE_DIR}/bin)
|
||||
|
||||
target_link_libraries(musikcore)
|
||||
target_link_libraries(musikcore ${Boost_LIBRARIES} ${musikcube_LINK_LIBS})
|
||||
|
||||
if (ENABLE_PCH MATCHES "true")
|
||||
message(STATUS "[musikcore] enabling precompiled headers")
|
||||
|
@ -6,13 +6,11 @@ set (ffmpegdecoder_SOURCES
|
||||
add_library(ffmpegdecoder SHARED ${ffmpegdecoder_SOURCES})
|
||||
|
||||
if (${LINK_STATICALLY} MATCHES "true")
|
||||
find_library(LIBAVCODEC NAMES libavcodec-musikcube.a PATHS "/home/clangen/src/musikcube/vendor/ffmpeg-bin/lib/")
|
||||
find_library(LIBAVUTIL NAMES libavutil-musikcube.a PATHS "/home/clangen/src/musikcube/vendor/ffmpeg-bin/lib/")
|
||||
find_library(LIBAVFORMAT NAMES libavformat-musikcube.a PATHS "/home/clangen/src/musikcube/vendor/ffmpeg-bin/lib/")
|
||||
find_library(LIBSWRESAMPLE NAMES libswresample-musikcube.a PATHS "/home/clangen/src/musikcube/vendor/ffmpeg-bin/lib/")
|
||||
target_link_libraries(ffmpegdecoder ${LIBAVCODEC} ${LIBAVUTIL} ${LIBAVFORMAT} ${LIBSWRESAMPLE})
|
||||
#target_link_libraries(ffmpegdecoder -Wl,-Bdynamic libavcodec-musikcube.a libavutil-musikcube.a libavformat-musikcube.a libswresample-musikcube.a)
|
||||
|
||||
ensure_library_exists(avcodec-musikcube)
|
||||
ensure_library_exists(avutil-musikcube)
|
||||
ensure_library_exists(avformat-musikcube)
|
||||
ensure_library_exists(swresample-musikcube)
|
||||
target_link_libraries(ffmpegdecoder avcodec-musikcube avutil-musikcube avformat-musikcube swresample-musikcube)
|
||||
else()
|
||||
# fedora (and probably other RPM-based distros) put ffmpeg includes here...
|
||||
include_directories("/usr/include/ffmpeg")
|
||||
@ -24,6 +22,4 @@ else()
|
||||
target_link_libraries(ffmpegdecoder avcodec avutil avformat swresample)
|
||||
endif()
|
||||
|
||||
message(STATUS "clclcl ${LIBAVCODEC} ${LIBAVUTIL} ${LIBAVFORMAT} ${LIBSWRESAMPLE}")
|
||||
|
||||
#target_link_libraries(ffmpegdecoder ${musikcube_LINK_LIBS})
|
||||
|
@ -17,13 +17,13 @@ include_directories(${Boost_INCLUDE_DIRS})
|
||||
|
||||
ensure_library_exists(microhttpd)
|
||||
|
||||
if (${LINK_STATICALLY} MATCHES "true")
|
||||
find_library(MICROHTTPDLIB NAMES libmicrohttpd.a)
|
||||
target_link_libraries(server ${server_LINK_LIBS} ${MICROHTTPDLIB})
|
||||
else()
|
||||
# if (${LINK_STATICALLY} MATCHES "true")
|
||||
# find_library(MICROHTTPDLIB NAMES libmicrohttpd.a)
|
||||
# target_link_libraries(server ${server_LINK_LIBS} ${MICROHTTPDLIB})
|
||||
# else()
|
||||
set(EXTRA_LIBS "")
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
set(EXTRA_LIBS "gnutls")
|
||||
endif()
|
||||
target_link_libraries(server ${server_LINK_LIBS} microhttpd z ${EXTRA_LIBS})
|
||||
endif()
|
||||
# endif()
|
||||
|
@ -9,20 +9,20 @@ add_library(stockencoders SHARED ${stockencoders_SOURCES})
|
||||
ensure_library_exists(mp3lame)
|
||||
|
||||
if (${LINK_STATICALLY} MATCHES "true")
|
||||
ensure_library_exists(avcodec-musikcube)
|
||||
ensure_library_exists(avutil-musikcube)
|
||||
ensure_library_exists(avformat-musikcube)
|
||||
ensure_library_exists(swresample-musikcube)
|
||||
target_link_libraries(stockencoders ${musikcube_LINK_LIBS} libavcodec-musikcube.a libavutil-musikcube.a libavformat-musikcube.a libswresample-musikcube.a)
|
||||
ensure_library_exists(avcodec-musikcube)
|
||||
ensure_library_exists(avutil-musikcube)
|
||||
ensure_library_exists(avformat-musikcube)
|
||||
ensure_library_exists(swresample-musikcube)
|
||||
target_link_libraries(stockencoders avcodec-musikcube avutil-musikcube avformat-musikcube swresample-musikcube)
|
||||
else()
|
||||
# fedora (and probably other RPM-based distros) put ffmpeg includes here...
|
||||
include_directories("/usr/include/ffmpeg")
|
||||
include_directories("/usr/local/include/ffmpeg")
|
||||
ensure_library_exists(avcodec)
|
||||
ensure_library_exists(avutil)
|
||||
ensure_library_exists(avformat)
|
||||
ensure_library_exists(swresample)
|
||||
target_link_libraries(stockencoders ${musikcube_LINK_LIBS} avcodec avutil avformat swresample)
|
||||
# fedora (and probably other RPM-based distros) put ffmpeg includes here...
|
||||
include_directories("/usr/include/ffmpeg")
|
||||
include_directories("/usr/local/include/ffmpeg")
|
||||
ensure_library_exists(avcodec)
|
||||
ensure_library_exists(avutil)
|
||||
ensure_library_exists(avformat)
|
||||
ensure_library_exists(swresample)
|
||||
target_link_libraries(stockencoders ${musikcube_LINK_LIBS} avcodec avutil avformat swresample)
|
||||
endif()
|
||||
|
||||
# prefer static libraries on mac to make redist easier
|
||||
|
Loading…
Reference in New Issue
Block a user