summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Sinclair <radarsat1@gmail.com>2019-04-16 23:52:09 +0200
committerStephen Sinclair <radarsat1@gmail.com>2019-04-16 23:52:09 +0200
commit1558bb50771c15f1c7d96f82e473559fef58e019 (patch)
tree16a980c38f2386c4eeea72b5ccc549ebc3fcff88
parent6ca53c0e11c5b34e107e210ed98f3e4237fca728 (diff)
[cmake] support previous RTAUDIO_BUILD_* variables
Compromise for changes in CMake build introduced by previous commit that would interfere with use with add_subdirectory. Re-adds: - RTAUDIO_BUILD_TESTING - RTAUDIO_BUILD_SHARED_LIBS - RTAUDIO_BUILD_STATIC_LIBS These now override BUILD_TESTING, BUILD_SHARED_LIBS, BUILD_STATIC_LIBS, but only if they are defined and are not "".
-rw-r--r--CMakeLists.txt26
1 files changed, 24 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1786947..b88963f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -207,17 +207,36 @@ endif()
cmake_policy(SET CMP0042 OLD)
set(LIB_TARGETS)
-add_library(rtaudio ${rtaudio_SOURCES})
+# Use RTAUDIO_BUILD_SHARED_LIBS / RTAUDIO_BUILD_STATIC_LIBS if they
+# are defined, otherwise default to standard BUILD_SHARED_LIBS.
+if (DEFINED RTAUDIO_BUILD_SHARED_LIBS)
+ if (RTAUDIO_BUILD_SHARED_LIBS)
+ add_library(rtaudio SHARED ${rtaudio_SOURCES})
+ else()
+ add_library(rtaudio STATIC ${rtaudio_SOURCES})
+ endif()
+elseif (DEFINED RTAUDIO_BUILD_STATIC_LIBS)
+ if (RTAUDIO_BUILD_STATIC_LIBS)
+ add_library(rtaudio STATIC ${rtaudio_SOURCES})
+ else()
+ add_library(rtaudio SHARED ${rtaudio_SOURCES})
+ endif()
+else()
+ add_library(rtaudio ${rtaudio_SOURCES})
+endif()
list(APPEND LIB_TARGETS rtaudio)
+
# Add headers destination for install rule.
set_target_properties(rtaudio PROPERTIES PUBLIC_HEADER RtAudio.h
SOVERSION ${SO_VER}
VERSION ${FULL_VER})
+
# Set include paths, populate target interface.
target_include_directories(rtaudio PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
${INCDIRS})
+
# Set compile-time definitions
target_compile_definitions(rtaudio PRIVATE ${API_DEFS})
target_compile_definitions(rtaudio PRIVATE RTAUDIO_EXPORT)
@@ -230,7 +249,10 @@ include(GNUInstallDirs)
# Subdirs
include(CTest)
-if (BUILD_TESTING)
+if (NOT DEFINED RTAUDIO_BUILD_TESTING OR RTAUDIO_BUILD_TESTING STREQUAL "")
+ set(RTAUDIO_BUILD_TESTING ${BUILD_TESTING})
+endif()
+if (RTAUDIO_BUILD_TESTING)
add_subdirectory(tests)
endif()