CMake option to disable deprecated APIs
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2cdc2cb..1fc19d6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,7 @@
 # ---[ Options.
 SET(PTHREADPOOL_LIBRARY_TYPE "default" CACHE STRING "Type of library (shared, static, or default) to build")
 SET_PROPERTY(CACHE PTHREADPOOL_LIBRARY_TYPE PROPERTY STRINGS default static shared)
+OPTION(PTHREADPOOL_ALLOW_DEPRECATED_API "Enable deprecated API functions" ON)
 OPTION(PTHREADPOOL_BUILD_TESTS "Build pthreadpool unit tests" ON)
 OPTION(PTHREADPOOL_BUILD_BENCHMARKS "Build pthreadpool micro-benchmarks" ON)
 
@@ -59,7 +60,9 @@
 ENDIF()
 
 # ---[ pthreadpool library
-SET(PTHREADPOOL_SRCS src/threadpool-legacy.c)
+IF(PTHREADPOOL_ALLOW_DEPRECATED_API)
+  SET(PTHREADPOOL_SRCS src/threadpool-legacy.c)
+ENDIF()
 IF(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
   LIST(APPEND PTHREADPOOL_SRCS src/threadpool-shim.c)
 ELSE()
@@ -73,6 +76,9 @@
   ADD_LIBRARY(pthreadpool_interface INTERFACE)
 ENDIF()
 TARGET_INCLUDE_DIRECTORIES(pthreadpool_interface INTERFACE include)
+IF(NOT PTHREADPOOL_ALLOW_DEPRECATED_API)
+  TARGET_COMPILE_DEFINITIONS(pthreadpool_interface INTERFACE PTHREADPOOL_NO_DEPRECATED_API=1)
+ENDIF()
 INSTALL(FILES include/pthreadpool.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 
 IF(PTHREADPOOL_LIBRARY_TYPE STREQUAL "default")