ref: af1d8845ac354530bc7deae0cd66f9d402e1e4a8
parent: 0b3d1dbaa0f9aea83647adae64129be746b50ed0
author: Flamefire <Flamefire@users.noreply.github.com>
date: Tue Jul 23 08:44:02 EDT 2019
Enable tests, examples and install per default if libsamplerate is root project Closes #46
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,11 +1,18 @@
cmake_minimum_required(VERSION 3.1)
project(libsamplerate VERSION 0.1.9 LANGUAGES C)
-option(LIBSAMPLERATE_TESTS "Enable to generate test targets" ON)
-option(LIBSAMPLERATE_INSTALL "Enable to add install directives" ON)
+if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ set(LIBSAMPLERATE_IS_ROOT_PROJECT ON)
+else()
+ set(LIBSAMPLERATE_IS_ROOT_PROJECT OFF)
+endif()
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)+option(LIBSAMPLERATE_TESTS "Enable to generate test targets" ${LIBSAMPLERATE_IS_ROOT_PROJECT})+option(LIBSAMPLERATE_EXAMPLES "Enable to generate examples" ${LIBSAMPLERATE_IS_ROOT_PROJECT})+option(LIBSAMPLERATE_INSTALL "Enable to add install directives" ${LIBSAMPLERATE_IS_ROOT_PROJECT})+list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)+
include(TestBigEndian)
include(CheckFunctionExists)
include(CheckIncludeFiles)
@@ -104,7 +111,7 @@
if(LIBSAMPLERATE_TESTS)
-enable_testing()
+ enable_testing()
file(GLOB TEST_SRCS ${PROJECT_SOURCE_DIR}/tests/*_test.c)@@ -117,10 +124,12 @@
target_link_libraries(${testName} PUBLIC samplerate)if(FFTW_FOUND)
target_link_libraries(${testName} PUBLIC ${FFTW_LIBRARY})- endif()
+endif()
add_test(NAME ${testName} COMMAND ${testName})endforeach(testSrc)
+endif()
+if(LIBSAMPLERATE_EXAMPLES)
set(EXAMPLE_SRCS
${PROJECT_SOURCE_DIR}/examples/timewarp-file.c ${PROJECT_SOURCE_DIR}/examples/varispeed-play.c)@@ -147,19 +156,19 @@
endif()
if(LIBSAMPLERATE_INSTALL)
-set(prefix ${CMAKE_INSTALL_PREFIX})-set(exec_prefix "\${prefix}")-set(includedir "\${prefix}/include")-set(libdir "\${exec_prefix}/lib")-set(VERSION "${PROJECT_VERSION}")-if(NEED_MATH)
- set(LIBS "-lm")
-endif()
-configure_file(samplerate.pc.in samplerate.pc @ONLY)
+ set(prefix ${CMAKE_INSTALL_PREFIX})+ set(exec_prefix "\${prefix}")+ set(includedir "\${prefix}/include")+ set(libdir "\${exec_prefix}/lib")+ set(VERSION "${PROJECT_VERSION}")+ if(NEED_MATH)
+ set(LIBS "-lm")
+ endif()
+ configure_file(samplerate.pc.in samplerate.pc @ONLY)
-install(TARGETS samplerate DESTINATION lib)
-install(FILES src/samplerate.h DESTINATION include)
-install(DIRECTORY doc/ DESTINATION share/doc/libsamplerate)
-install(FILES ${CMAKE_BINARY_DIR}/samplerate.pc DESTINATION lib/pkgconfig)+ install(TARGETS samplerate DESTINATION lib)
+ install(FILES src/samplerate.h DESTINATION include)
+ install(DIRECTORY doc/ DESTINATION share/doc/libsamplerate)
+ install(FILES ${CMAKE_BINARY_DIR}/samplerate.pc DESTINATION lib/pkgconfig)endif()
--
⑨