diff options
| author | Francesco Bertolaccini <bertolaccinifrancesco@gmail.com> | 2019-03-26 12:26:05 +0100 |
|---|---|---|
| committer | Francesco Bertolaccini <bertolaccinifrancesco@gmail.com> | 2019-03-26 12:26:05 +0100 |
| commit | d3a4e88162eb374f14719a5d08ef3dba8ae14de6 (patch) | |
| tree | 49c3822e877dde7782b679e516a60722d6f93729 | |
| parent | 4ba65da5277a6b12b69e40877adaff03ae644ed1 (diff) | |
Update CMakeLists.txt
| -rw-r--r-- | CMakeLists.txt | 84 |
1 files changed, 26 insertions, 58 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index cc05b2a..2cee314 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ # Set minimum CMake required version for this project. -cmake_minimum_required(VERSION 3.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.10 FATAL_ERROR) # Define a C++ project. project(RtAudio LANGUAGES CXX) @@ -24,20 +24,12 @@ elseif(UNIX AND NOT APPLE) endif() # Necessary for Windows -if(WIN32) - set(CMAKE_DEBUG_POSTFIX "d") -endif() - if(MINGW) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() # Build Options -option(RTAUDIO_BUILD_SHARED_LIBS "Compile library shared lib." TRUE) -option(RTAUDIO_BUILD_STATIC_LIBS "Compile library static lib." TRUE) -option(RTAUDIO_BUILD_TESTING "Compile test programs." TRUE) option(RTAUDIO_BUILD_PYTHON "Build PyRtAudio python bindings" OFF) -set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type (Release,Debug)") set(RTAUDIO_TARGETNAME_UNINSTALL "uninstall" CACHE STRING "Name of 'uninstall' build target") # API Options @@ -204,57 +196,33 @@ endif() # Create library targets. cmake_policy(SET CMP0042 OLD) set(LIB_TARGETS) -if(RTAUDIO_BUILD_SHARED_LIBS) - add_library(rtaudio SHARED ${rtaudio_SOURCES}) - 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) - - target_link_libraries(rtaudio ${LINKLIBS}) -endif() - -if(RTAUDIO_BUILD_STATIC_LIBS) - add_library(rtaudio_static STATIC ${rtaudio_SOURCES}) - list(APPEND LIB_TARGETS rtaudio_static) - - # Add headers destination for install rule. - set_target_properties(rtaudio_static PROPERTIES PUBLIC_HEADER RtAudio.h - SOVERSION ${SO_VER} - VERSION ${FULL_VER}) - - # Set include paths, populate target interface. - target_include_directories(rtaudio_static PRIVATE - $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> - $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> - ${INCDIRS}) - # Set compile-time definitions - target_compile_definitions(rtaudio_static PRIVATE ${API_DEFS}) +add_library(rtaudio ${rtaudio_SOURCES}) +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) +target_link_libraries(rtaudio ${LINKLIBS}) - target_link_libraries(rtaudio_static ${LINKLIBS}) -endif() # Set standard installation directories. include(GNUInstallDirs) # Subdirs -if (RTAUDIO_BUILD_TESTING) - include(CTest) +include(CTest) + +if (BUILD_TESTING) add_subdirectory(tests) -endif (RTAUDIO_BUILD_TESTING) +endif() # Message string(REPLACE ";" " " apilist "${API_LIST}") @@ -278,14 +246,14 @@ install(TARGETS ${LIB_TARGETS} export(PACKAGE RtAudio) # Set installation path for CMake files. -if(WIN32) - set(RTAUDIO_CMAKE_DESTINATION cmake) -else() - set(RTAUDIO_CMAKE_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/RtAudio) -endif() +set(RTAUDIO_CMAKE_DESTINATION share/rtaudio) # Create CMake configuration export file. -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/RtAudioTargets.cmake)") +if(NEED_PTHREAD) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake "find_package(Threads REQUIRED)\n") +endif() + +file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/RtAudioTargets.cmake)") # Install CMake configuration export file. install(FILES ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake |
