2019-03-15 06:59:16 +00:00
|
|
|
#cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .
|
|
|
|
#cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr .
|
2019-10-29 05:07:40 +00:00
|
|
|
#cmake -DGENERATE_DEB=1 -DDEB_ARCHITECTURE=i386|amd64|armhf -DDEB_PLATFORM=ubuntu -DDEB_DISTRO=eoan -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .
|
2017-02-24 07:45:25 +00:00
|
|
|
#cmake -DCMAKE_BUILD_TYPE=Release -DLINK_STATICALLY=true .
|
|
|
|
|
2016-05-26 05:02:09 +00:00
|
|
|
cmake_minimum_required(VERSION 3.0)
|
2009-05-06 09:12:12 +00:00
|
|
|
|
2017-07-20 00:36:50 +00:00
|
|
|
project(musikcube)
|
|
|
|
set (musikcube_VERSION_MAJOR 0)
|
2020-12-20 21:22:44 +00:00
|
|
|
set (musikcube_VERSION_MINOR 96)
|
2022-02-07 02:22:58 +00:00
|
|
|
set (musikcube_VERSION_PATCH 11)
|
2017-07-20 00:36:50 +00:00
|
|
|
set (musikcube_VERSION "${musikcube_VERSION_MAJOR}.${musikcube_VERSION_MINOR}.${musikcube_VERSION_PATCH}")
|
2022-02-08 01:22:51 +00:00
|
|
|
set (LIBRARY_OUTPUT_PATH ${musikcube_SOURCE_DIR}/bin/plugins)
|
|
|
|
set (EXECUTABLE_OUTPUT_PATH ${musikcube_SOURCE_DIR}/bin)
|
2016-05-26 05:02:09 +00:00
|
|
|
|
2019-10-28 04:45:17 +00:00
|
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/.cmake)
|
2017-05-29 23:37:19 +00:00
|
|
|
include(CMakeToolsHelpers OPTIONAL)
|
2021-04-11 03:59:05 +00:00
|
|
|
include(CheckDependencies)
|
2019-10-28 04:45:17 +00:00
|
|
|
include(CheckAtomic)
|
2022-02-08 01:22:51 +00:00
|
|
|
include(ConfigureRpath)
|
2022-02-08 08:20:55 +00:00
|
|
|
include(AddDarwinSystemLibs)
|
2022-02-08 01:22:51 +00:00
|
|
|
include(ConfigureBsdPaths)
|
2022-02-08 08:20:55 +00:00
|
|
|
include(ConfigureCurses)
|
|
|
|
include(ConfigureTaglib)
|
2022-02-08 01:22:51 +00:00
|
|
|
include(ConfigureCompilerFlags)
|
|
|
|
include(ConfigureStaticLinking)
|
2009-07-18 11:50:49 +00:00
|
|
|
|
2022-02-08 08:20:55 +00:00
|
|
|
message(STATUS "[vendor-link-directories] ${VENDOR_LINK_DIRECTORIES}")
|
|
|
|
|
2021-04-11 03:59:05 +00:00
|
|
|
# our include directories
|
2022-02-08 01:22:51 +00:00
|
|
|
include_directories(
|
2021-04-11 03:59:05 +00:00
|
|
|
"${musikcube_SOURCE_DIR}/src"
|
|
|
|
"${musikcube_SOURCE_DIR}/src/musikcore"
|
|
|
|
"${musikcube_SOURCE_DIR}/src/musikcube"
|
|
|
|
"${musikcube_SOURCE_DIR}/src/musikcube/cursespp"
|
|
|
|
"${musikcube_SOURCE_DIR}/src/3rdparty/include")
|
|
|
|
|
|
|
|
# our library directories
|
2022-02-08 01:22:51 +00:00
|
|
|
link_directories("${musikcube_SOURCE_DIR}/bin/plugins")
|
2009-07-18 11:50:49 +00:00
|
|
|
|
2022-02-08 08:20:55 +00:00
|
|
|
find_package(Boost 1.55.0 REQUIRED system filesystem thread)
|
2022-02-08 01:22:51 +00:00
|
|
|
include_directories(${Boost_INCLUDE_DIRS})
|
|
|
|
message(STATUS "[boost] libs: " ${Boost_LIBRARIES})
|
|
|
|
message(STATUS "[boost] includes: " ${Boost_INCLUDE_DIRS})
|
2009-07-18 11:50:49 +00:00
|
|
|
|
2022-02-08 08:20:55 +00:00
|
|
|
find_library(LIBCURL NAMES libcurl.a PATHS ${VENDOR_LINK_DIRECTORIES})
|
|
|
|
find_library(LIBSSL NAMES libssl.a PATHS ${VENDOR_LINK_DIRECTORIES})
|
|
|
|
find_library(LIBCRYPTO NAMES libcrypto.a PATHS ${VENDOR_LINK_DIRECTORIES})
|
|
|
|
find_library(LIBZ NAMES libz.a PATHS ${VENDOR_LINK_DIRECTORIES})
|
2022-02-08 03:53:26 +00:00
|
|
|
|
2022-02-08 08:20:55 +00:00
|
|
|
set(musikcube_LINK_LIBS ${DEFAULT_OS_SYSTEM_LIBS} ${Boost_LIBRARIES} ${LIBCURL} ${LIBSSL} ${LIBCRYPTO} ${LIBZ})
|
2019-10-20 03:58:26 +00:00
|
|
|
|
2022-02-08 01:22:51 +00:00
|
|
|
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
|
find_library(LIBDL NAMES dl)
|
2022-02-08 08:20:55 +00:00
|
|
|
set (musikcube_LINK_LIBS ${musikcube_LINK_LIBS} ${LIBDL})
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
|
|
find_library(LIBPTHREAD NAMES libpthread.a)
|
|
|
|
set (musikcube_LINK_LIBS ${musikcube_LINK_LIBS} ${LIBPTHREAD})
|
2017-12-20 22:29:29 +00:00
|
|
|
endif()
|
2009-07-18 11:50:49 +00:00
|
|
|
|
2019-10-28 04:45:17 +00:00
|
|
|
if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
|
|
|
|
if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
|
|
|
|
message(STATUS "[build] libatomic required, adding to library list")
|
|
|
|
set (musikcube_LINK_LIBS ${musikcube_LINK_LIBS} atomic)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2022-02-08 08:20:55 +00:00
|
|
|
message(STATUS "[build] musikcube_LINK_LIBS: " ${musikcube_LINK_LIBS})
|
2019-10-28 04:45:17 +00:00
|
|
|
|
2020-10-13 02:23:17 +00:00
|
|
|
add_subdirectory(src/musikcore)
|
2022-02-08 03:53:26 +00:00
|
|
|
#add_subdirectory(src/core_c_demo)
|
2020-07-01 05:42:56 +00:00
|
|
|
add_subdirectory(src/musikcube)
|
|
|
|
add_subdirectory(src/musikcubed)
|
|
|
|
add_subdirectory(src/plugins/taglib_plugin)
|
|
|
|
add_subdirectory(src/plugins/nullout)
|
2022-02-08 08:20:55 +00:00
|
|
|
#add_subdirectory(src/plugins/server)
|
2020-07-01 05:42:56 +00:00
|
|
|
add_subdirectory(src/plugins/httpdatastream)
|
|
|
|
add_subdirectory(src/plugins/stockencoders)
|
|
|
|
add_subdirectory(src/plugins/supereqdsp)
|
|
|
|
add_subdirectory(src/plugins/gmedecoder)
|
2022-02-08 01:22:51 +00:00
|
|
|
add_subdirectory(src/plugins/ffmpegdecoder)
|
2020-07-01 05:42:56 +00:00
|
|
|
|
2022-02-08 01:22:51 +00:00
|
|
|
add_dependencies(musikcube musikcore)
|
|
|
|
add_dependencies(musikcubed musikcore)
|
2021-12-29 04:14:08 +00:00
|
|
|
|
2022-02-08 01:22:51 +00:00
|
|
|
include(AddOsSpecificPlugins)
|
|
|
|
include(InstallFiles)
|
|
|
|
include(GenerateDeb)
|
|
|
|
include(PostBuild)
|