1 cmake_minimum_required(VERSION 3.5)
2 project(soundtouch CXX)
4 if(CMAKE_SIZEOF_VOID_P EQUAL 8)
13 set(TYPE_SUFFIX $<$<Config:Debug>:D>)
16 configure_file("${CMAKE_CURRENT_LIST_DIR}/include/soundtouch_config.h.in" ${CMAKE_CURRENT_BINARY_DIR}/include/soundtouch_config.h)
18 file(GLOB SOUNDTOUCH_SOURCES "${CMAKE_CURRENT_LIST_DIR}/source/SoundTouch/*.cpp")
19 add_library(libsoundtouch ${SOUNDTOUCH_SOURCES})
20 target_include_directories(libsoundtouch PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include")
21 target_include_directories(libsoundtouch PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/include")
22 set_target_properties(libsoundtouch PROPERTIES OUTPUT_NAME SoundTouch${TYPE_SUFFIX}${ARCH_SUFFIX})
23 if(WIN32 AND BUILD_SHARED_LIBS)
24 target_compile_definitions(libsoundtouch PRIVATE -DDLL_EXPORTS)
25 target_sources(libsoundtouch PRIVATE
26 "${CMAKE_CURRENT_LIST_DIR}/source/SoundTouchDLL/SoundTouchDLL.cpp"
27 "${CMAKE_CURRENT_LIST_DIR}/source/SoundTouchDLL/SoundTouchDLL.rc"
31 install(TARGETS libsoundtouch
32 RUNTIME DESTINATION bin
33 LIBRARY DESTINATION lib
34 ARCHIVE DESTINATION lib