37 lines
1.4 KiB
CMake
37 lines
1.4 KiB
CMake
|
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
|
||
|
if (NOT TARGET libsoundio_static)
|
||
|
# Some of the example stuff doesn't build under MSVC
|
||
|
#
|
||
|
set(BUILD_EXAMPLE_PROGRAMS OFF CACHE BOOL "Disable Soundio example projects")
|
||
|
set(BUILD_TESTS OFF CACHE BOOL "Disable Soundio tests")
|
||
|
set(SOUNDIO_STATIC_LIBNAME libsoundio_static)
|
||
|
|
||
|
add_subdirectory(src EXCLUDE_FROM_ALL)
|
||
|
|
||
|
target_include_directories(libsoundio_static PUBLIC
|
||
|
src/soundio
|
||
|
)
|
||
|
|
||
|
target_compile_definitions(libsoundio_static PUBLIC "SOUNDIO_STATIC_LIBRARY")
|
||
|
|
||
|
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
|
||
|
target_compile_definitions(libsoundio_static PRIVATE "_CRT_SECURE_NO_WARNINGS")
|
||
|
endif()
|
||
|
|
||
|
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
|
||
|
target_compile_options(libsoundio_static PRIVATE "-Wno-unused-variable")
|
||
|
endif()
|
||
|
|
||
|
else()
|
||
|
message(STATUS "libsoundio_static is already a target. Skipping adding it twice")
|
||
|
endif()
|
||
|
|
||
|
add_library(libsoundio::libsoundio ALIAS libsoundio_static)
|
||
|
elseif ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||
|
find_library(LIBSOUNDIO_LIB soundio)
|
||
|
add_library(libsoundio::libsoundio SHARED IMPORTED GLOBAL)
|
||
|
set_property(TARGET libsoundio::libsoundio PROPERTY IMPORTED_LOCATION ${LIBSOUNDIO_LIB})
|
||
|
else()
|
||
|
message(FATAL_ERROR "Unknown system name ${CMAKE_SYSTEM_NAME}")
|
||
|
endif()
|