Files
dsp/CMakeLists.txt
AlexandreRouma d42f0ca0bc linux compile fix
2026-03-10 16:51:21 -04:00

53 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.13)
project(dsp)
file(GLOB_RECURSE SRC "src/*.cpp" "dsp/*.cpp")
add_executable(${PROJECT_NAME} ${SRC})
target_include_directories(${PROJECT_NAME} PRIVATE "/")
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
# Set compiler options
if (MSVC)
target_compile_options(${PROJECT_NAME} PRIVATE /EHsc) # /O2 /Ob2
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
target_compile_options(${PROJECT_NAME} PRIVATE -O3 -Wno-literal-suffix)
else ()
target_compile_options(${PROJECT_NAME} PRIVATE -O3 -Wno-literal-suffix)
endif ()
if (MSVC)
# Lib path
target_link_directories(${PROJECT_NAME} PUBLIC "C:/Program Files/PothosSDR/lib/")
# Misc headers
target_include_directories(${PROJECT_NAME} PUBLIC "C:/Program Files/PothosSDR/include/")
# Volk
target_link_libraries(${PROJECT_NAME} PUBLIC volk)
else()
find_package(PkgConfig)
pkg_check_modules(VOLK REQUIRED volk)
target_include_directories(${PROJECT_NAME} PUBLIC
${VOLK_INCLUDE_DIRS}
)
target_link_directories(${PROJECT_NAME} PUBLIC
${VOLK_LIBRARY_DIRS}
)
target_link_libraries(${PROJECT_NAME} PUBLIC
${VOLK_LIBRARIES}
)
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
target_link_libraries(${PROJECT_NAME} PUBLIC stdc++fs pthread)
endif ()
endif ()