package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.9 KiB

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c2d2dfc7..09428ddb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,10 @@ project(FLAC VERSION 1.3.2) # HOMEPAGE_URL "https://www.xiph.org/flac/")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
option(BUILD_CXXLIBS "Build libFLAC++" ON)
+option(BUILD_PROGRAMS "Build and install programs" ON)
option(BUILD_EXAMPLES "Build and install examples" ON)
+option(BUILD_DOCS "Build and install doxygen documents" ON)
+option(BUILD_UTILS "Build utils" OFF)
option(WITH_OGG "ogg support (default: test for libogg)" ON)
if(WITH_OGG)
@@ -84,6 +87,10 @@ include_directories("include")
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
add_definitions(-DHAVE_CONFIG_H)
+if(WIN32 AND NOT BUILD_SHARED_LIBS)
+ add_definitions(-DFLAC__NO_DLL)
+endif()
+
if(MSVC)
add_definitions(
-D_CRT_SECURE_NO_WARNINGS
@@ -93,13 +100,15 @@ if(CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
add_definitions(-DFLAC__OVERFLOW_DETECT)
endif()
-add_subdirectory("doc")
add_subdirectory("src")
-add_subdirectory("microbench")
+if(BUILD_DOCS)
+ add_subdirectory("doc")
+endif()
if(BUILD_EXAMPLES)
add_subdirectory("examples")
endif()
if(BUILD_TESTING)
+ add_subdirectory("microbench")
add_subdirectory("test")
endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ba7a439e..5bb020f1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -9,10 +9,14 @@ add_subdirectory("libFLAC")
if(BUILD_CXXLIBS)
add_subdirectory("libFLAC++")
endif()
-add_subdirectory("share")
-add_subdirectory("flac")
-add_subdirectory("metaflac")
-add_subdirectory("utils")
+if(BUILD_PROGRAMS)
+ add_subdirectory("flac")
+ add_subdirectory("metaflac")
+endif()
+if(BUILD_UTILS)
+ add_subdirectory("share")
+ add_subdirectory("utils")
+endif()
if(WITH_XMMS)
add_subdirectory("plugin_common")