Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,9 @@ include(cmake/func/AddTargetSource.cmake)

add_subdirectory(deps)
add_subdirectory(library)
add_subdirectory(app)

option(JUKE_BUILD_APP "Build Media Player app" ${PROJECT_IS_TOP_LEVEL})

if(JUKE_BUILD_APP)
add_subdirectory(app)
endif()
11 changes: 10 additions & 1 deletion app/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,18 @@ project(jukebox-app)
add_library(jukebox-app)
add_library(jukebox-app::lib ALIAS jukebox-app)

# gvdi
FetchContent_Declare(gvdi
GIT_REPOSITORY https://github.com/karnkaul/gvdi
GIT_TAG v0.2.5
GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(gvdi)

target_link_libraries(jukebox-app
PUBLIC
juke::lib
juke::juke
gvdi::gvdi
)

# Glob all headers
Expand Down
19 changes: 1 addition & 18 deletions deps/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@ project(jukebox-deps)
include(FetchContent)
set(BUILD_SHARED_LIBS OFF)

set(fetch_list gvdi capo djson)

# gvdi
FetchContent_Declare(gvdi
GIT_REPOSITORY https://github.com/karnkaul/gvdi
GIT_TAG v0.2.5
GIT_SHALLOW TRUE
)
set(fetch_list capo)

# capo
FetchContent_Declare(
Expand All @@ -32,14 +25,6 @@ if(JUKE_USE_LIBXMP)
list(APPEND fetch_list libxmp)
endif()

# djson
FetchContent_Declare(
djson
GIT_REPOSITORY https://github.com/karnkaul/djson
GIT_TAG v2.1.1
GIT_SHALLOW TRUE
)

set(BUILD_SHARED OFF CACHE BOOL "" FORCE)
set(LIBXMP_PIC ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(${fetch_list})
Expand All @@ -48,7 +33,5 @@ add_library(jukebox-deps INTERFACE)
add_library(jukebox::deps ALIAS jukebox-deps)

target_link_libraries(jukebox-deps INTERFACE
djson::djson
capo::capo
gvdi::gvdi
)
14 changes: 7 additions & 7 deletions library/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
project(juke-lib)

add_library(juke)
add_library(juke::lib ALIAS juke)
add_library(${PROJECT_NAME})
add_library(juke::juke ALIAS ${PROJECT_NAME})

target_link_libraries(juke
target_link_libraries(${PROJECT_NAME}
PUBLIC
jukebox::deps
)

if(JUKE_USE_LIBXMP)
target_link_libraries(juke
target_link_libraries(${PROJECT_NAME}
PRIVATE
libxmp::xmp_static
)
target_compile_definitions(juke PRIVATE JUKE_USE_LIBXMP)
target_compile_definitions(${PROJECT_NAME} PRIVATE JUKE_USE_LIBXMP)
endif()

# Glob all headers
file(GLOB_RECURSE headers "include/*.hpp")

# Set as FILE_SET, this also sets the include directory
target_sources(juke PUBLIC FILE_SET HEADERS
target_sources(${PROJECT_NAME} PUBLIC FILE_SET HEADERS
BASE_DIRS include
FILES ${headers}
)

# Setup our include structure
target_include_directories(juke
target_include_directories(${PROJECT_NAME}
PRIVATE "src"
)

Expand Down
2 changes: 1 addition & 1 deletion library/src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

add_subdirectory(core)

target_sources(juke PRIVATE
target_sources(juke-lib PRIVATE
juke.cpp
)
2 changes: 1 addition & 1 deletion library/src/core/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

target_sources(juke PRIVATE
target_sources(juke-lib PRIVATE
AudioFile.cpp
XMFile.cpp
XMStream.cpp
Expand Down
Loading