Skip to content

Commit f63af54

Browse files
committed
Add dsplib::interface target
1 parent 3806f06 commit f63af54

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

CMakeLists.txt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
cmake_minimum_required(VERSION 3.10)
2-
project(dsplib LANGUAGES CXX VERSION 0.54.9)
1+
cmake_minimum_required(VERSION 3.15...4.0)
2+
project(dsplib LANGUAGES CXX VERSION 0.55.0)
33

44
set(CMAKE_CXX_STANDARD 17)
55
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -63,14 +63,20 @@ add_library(${PROJECT_NAME} ${DSPLIB_SOURCES})
6363
target_compile_definitions(${PROJECT_NAME} PRIVATE
6464
"DSPLIB_FFT_CACHE_SIZE=${DSPLIB_FFT_CACHE_SIZE}")
6565

66-
target_include_directories(${PROJECT_NAME}
67-
PUBLIC
66+
# add INTERFACE target
67+
add_library(${PROJECT_NAME}-interface INTERFACE)
68+
add_library(${PROJECT_NAME}::interface ALIAS ${PROJECT_NAME}-interface)
69+
70+
target_include_directories(${PROJECT_NAME}-interface
71+
INTERFACE
6872
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
6973
"$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>"
7074
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
71-
PRIVATE lib
7275
)
7376

77+
target_link_libraries(${PROJECT_NAME} INTERFACE ${PROJECT_NAME}-interface)
78+
target_include_directories(${PROJECT_NAME} PRIVATE lib)
79+
7480
# check root project
7581
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_LIST_DIR}")
7682
set(DSPLIB_IS_ROOT ON)

examples/fftw-backend/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ set(CMAKE_CXX_STANDARD 17)
55
set(CMAKE_CXX_STANDARD_REQUIRED ON)
66

77
add_library(dsplib-fftw fft.cpp)
8-
target_link_libraries(dsplib-fftw PUBLIC dsplib FFTW:Double)
8+
target_link_libraries(dsplib-fftw PUBLIC dsplib::interface FFTW:Double)
9+
10+
cmake_policy(SET CMP0079 NEW)
11+
target_link_libraries(dsplib PRIVATE dsplib-fftw)
912

1013
add_executable(${PROJECT_NAME} main.cpp)
1114
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_LIST_DIR})
12-
target_link_libraries(${PROJECT_NAME} PUBLIC dsplib dsplib-fftw)
15+
target_link_libraries(${PROJECT_NAME} PUBLIC dsplib)

0 commit comments

Comments
 (0)