Skip to content

Commit 3369e86

Browse files
committed
No longer building superflous flac stuff
1 parent a85e2b9 commit 3369e86

File tree

2 files changed

+51
-1
lines changed

2 files changed

+51
-1
lines changed

.github/workflows/test-build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,5 @@ jobs:
2626
- uses: actions/upload-artifact@v4
2727
with:
2828
name: artifact-${{matrix.os}}
29-
path: ./build/lib/Release/*
29+
path: ./build/lib/*
3030

CMakeLists.txt

+50
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,30 @@
22
cmake_minimum_required(VERSION 3.15)
33
project(StaticAudioLibs LANGUAGES C CXX)
44

5+
# Set output directories consistently across all configurations on Windows
6+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
7+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
8+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
9+
10+
# Specify output directories for each configuration in multi-config generators (like Visual Studio)
11+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/lib)
12+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/lib)
13+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
14+
15+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/lib)
16+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/lib)
17+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
18+
19+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_BINARY_DIR}/lib)
20+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_BINARY_DIR}/lib)
21+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_BINARY_DIR}/bin)
22+
23+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_BINARY_DIR}/lib)
24+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_BINARY_DIR}/lib)
25+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_BINARY_DIR}/bin)
26+
27+
28+
529
# Define options to control static linking
630
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build static libraries")
731

@@ -22,6 +46,7 @@ set(OPUS_X86_PRESUME_AVX2 OFF CACHE BOOL "Disable Opus presumed AVX2 optimizatio
2246

2347
# Disable optional components in FLAC
2448
set(BUILD_CXXLIBS OFF CACHE BOOL "Disable FLAC++ library" FORCE) # FLAC++ library
49+
set(BUILD_PROGRAMS OFF CACHE BOOL "Do not build FLAC programs")
2550
set(BUILD_EXAMPLES OFF CACHE BOOL "Disable FLAC examples" FORCE) # Examples
2651
set(BUILD_DOCS OFF CACHE BOOL "Disable FLAC documentation" FORCE) # Documentation
2752
set(BUILD_TESTING OFF CACHE BOOL "Disable FLAC tests" FORCE) # Tests
@@ -44,6 +69,31 @@ target_include_directories(opus PRIVATE ${CMAKE_SOURCE_DIR}/opus/include)
4469

4570
add_subdirectory(flac)
4671

72+
# Conditionally exclude unnecessary targets if they exist
73+
if(TARGET replaygain_analysis)
74+
set_property(TARGET replaygain_analysis PROPERTY EXCLUDE_FROM_ALL TRUE)
75+
endif()
76+
77+
if(TARGET replaygain_synthesis)
78+
set_property(TARGET replaygain_synthesis PROPERTY EXCLUDE_FROM_ALL TRUE)
79+
endif()
80+
81+
if(TARGET getopt)
82+
set_property(TARGET getopt PROPERTY EXCLUDE_FROM_ALL TRUE)
83+
endif()
84+
85+
if(TARGET grabbag)
86+
set_property(TARGET grabbag PROPERTY EXCLUDE_FROM_ALL TRUE)
87+
endif()
88+
89+
if(TARGET utf8)
90+
set_property(TARGET utf8 PROPERTY EXCLUDE_FROM_ALL TRUE)
91+
endif()
92+
93+
if(TARGET benchmark_residual)
94+
set_property(TARGET benchmark_residual PROPERTY EXCLUDE_FROM_ALL TRUE)
95+
endif()
96+
4797
# Add Opusfile
4898
add_subdirectory(opusfile)
4999
target_link_libraries(opusfile PRIVATE opus ogg)

0 commit comments

Comments
 (0)