mirror of
https://github.com/thestk/stk
synced 2026-01-11 20:11:52 +00:00
a bit format changes
This commit is contained in:
@@ -4,31 +4,31 @@ project(STK VERSION 4.6.1)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE) ##TODO: options
|
||||
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose the type of build." FORCE)
|
||||
SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release" "Debug" "RelWithDebInfo" "MinSizeRel")
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
|
||||
endif()
|
||||
# message("Generated with config types: ${CMAKE_CONFIGURATION_TYPES}")
|
||||
message(${CMAKE_BUILD_TYPE}) ##TODO: necessary or not
|
||||
message("Build type: " ${CMAKE_BUILD_TYPE})
|
||||
|
||||
## TODO, compiler dependent?
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -D_STK_DEBUG_ -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -D_STK_DEBUG_ -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__")
|
||||
|
||||
if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
|
||||
message("GCC.")
|
||||
set(CMAKE_CXX_FLAGS "-Wall")
|
||||
endif()
|
||||
|
||||
option(BUILD_SHARED "Whether to build the shared library" OFF)
|
||||
option(BUILD_STATIC "Whether to build the static library" ON)
|
||||
option(REALTIME "Realtime suppor" ON)
|
||||
option(ENABLE_JACK "Enable JACK" ON)
|
||||
# option(BUILD_SHARED "Whether to build the shared library" OFF)
|
||||
# option(BUILD_STATIC "Whether to build the static library" ON)
|
||||
option(REALTIME "Realtime support" ON)
|
||||
# option(ENABLE_JACK "Enable JACK" ON)
|
||||
option(ENABLE_ALSA "Enable ALSA API support (linux only)" ON)
|
||||
option(ENABLE_OSS "Enable OSS API Support (unixes only)" ON)
|
||||
option(ENABLE_ASIO "Enable ASIO API support (windows only)" ON)
|
||||
option(ENABLE_DS "Enable DirectSound API support (windows only)" ON)
|
||||
option(ENABLE_WASAPI "Enable Windows Audio Session API support (windows only)" ON)
|
||||
option(ENABLE_CORE "Enable CoreAudio API support (mac only)" ON)
|
||||
# option(ENABLE_OSS "Enable OSS API Support (unixes only)" ON)
|
||||
# option(ENABLE_ASIO "Enable ASIO API support (windows only)" ON)
|
||||
# option(ENABLE_DS "Enable DirectSound API support (windows only)" ON)
|
||||
# option(ENABLE_WASAPI "Enable Windows Audio Session API support (windows only)" ON)
|
||||
# option(ENABLE_CORE "Enable CoreAudio API support (mac only)" ON)
|
||||
option(COMPILE_PROJECTS "Compile all the example projects" OFF)
|
||||
|
||||
include_directories("./include")
|
||||
@@ -40,21 +40,17 @@ add_library(stk STATIC ${STK_SRC} )
|
||||
#========== Realtime Support ============#
|
||||
#========================================#
|
||||
if(REALTIME)
|
||||
|
||||
# find_package(JACK) # TODO NEED FindJACK.cmake
|
||||
find_library(JACK_LIBRARY Jack)
|
||||
message("${JACK_LIBRARY}")
|
||||
# find_library(JACK_LIBRARY Jack)
|
||||
# message("${JACK_LIBRARY}")
|
||||
|
||||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
||||
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
|
||||
find_package(Threads)
|
||||
if(Threads_FOUND)
|
||||
target_link_libraries(stk PUBLIC Threads:Threads)
|
||||
else()
|
||||
message(FATAL_ERROR "RtAudio requires the pthread library")
|
||||
endif()
|
||||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(stk PUBLIC Threads::Threads)
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL Linux)
|
||||
# TODO: Finish Linux configuration, include different audio API supports
|
||||
#============== LINUX ================#
|
||||
message("Linux DETECTED!")
|
||||
if(ENABLE_ALSA)
|
||||
@@ -64,32 +60,24 @@ if(REALTIME)
|
||||
target_link_libraries(stk PUBLIC ${ALSA_LIBRARIES})
|
||||
target_compile_definitions(stk PUBLIC __LINUX_ALSA__)
|
||||
endif()
|
||||
endif()
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL Darwin)
|
||||
#============== MAC OS ================#
|
||||
message("Machintosh!")
|
||||
find_package(CoreAudio REQUIRED)
|
||||
include_directories(${COREAUDIO_INCLUDE_DIRS})
|
||||
target_compile_definitions(stk PUBLIC -D__MACOSX_CORE__)
|
||||
target_link_libraries(stk PUBLIC COREAUDIO_LIBRARY COREAUDIO_FOUNDATION COREAUDIO_MIDI)
|
||||
endif()
|
||||
|
||||
# TODO: WINDOWS SUPPORT
|
||||
target_link_libraries(stk PUBLIC ${COREAUDIO_LIBRARY} ${COREAUDIO_FOUNDATION} ${COREAUDIO_MIDI})
|
||||
elseif(${CMAKE_SYSTEM_NAME} STREQUAL Windows)
|
||||
# TODO: WINDOWS SUPPORT
|
||||
#============== WINDOWS ================#
|
||||
message("Windows!")
|
||||
# target_compile_definitions(stk PUBLIC __OS_WINDOWS__)
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown system type for realtime support.")
|
||||
# TODO: try --disable-realtime argument!
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
if(${CMAKE_BUILD_TYPE} STREQUAL Debug)
|
||||
target_compile_definitions(stk PUBLIC _STK_DEBUG_)
|
||||
endif()
|
||||
|
||||
|
||||
include(TestBigEndian)
|
||||
TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
|
||||
if(NOT IS_BIG_ENDIAN)
|
||||
|
||||
Reference in New Issue
Block a user