Skip to content

Commit be8d0e0

Browse files
authored
Merge pull request #82 from alxarsenault/cmake-update
Add AudioFile.h in cmake library interface
2 parents 8be726e + 8f5cd73 commit be8d0e0

File tree

9 files changed

+35
-32
lines changed

9 files changed

+35
-32
lines changed

CMakeLists.txt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,15 @@ option (BUILD_TESTS "Build tests" ON)
1313
option (BUILD_EXAMPLES "Build examples" ON)
1414

1515
#===============================================================================
16-
add_library (${PROJECT_NAME} INTERFACE)
16+
set (AUDIOFILE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/AudioFile.h)
17+
source_group (TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${AUDIOFILE_SOURCES})
1718

18-
#===============================================================================
19-
if(MSVC)
20-
# needed for M_PI macro
21-
add_definitions(-D_USE_MATH_DEFINES)
22-
endif()
19+
add_library (${PROJECT_NAME} INTERFACE ${AUDIOFILE_SOURCES})
2320

2421
#===============================================================================
25-
target_include_directories (
26-
${PROJECT_NAME}
27-
INTERFACE $<BUILD_INTERFACE:${${PROJECT_NAME}_SOURCE_DIR}>
28-
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
22+
target_include_directories (${PROJECT_NAME} INTERFACE
23+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
24+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
2925

3026
#===============================================================================
3127
target_compile_features (${PROJECT_NAME} INTERFACE cxx_std_17)

examples/CMakeLists.txt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
include_directories (${AudioFile_SOURCE_DIR})
2-
3-
add_definitions (-DPROJECT_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}")
41
file (COPY test-audio.wav DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
52

6-
add_executable (Examples examples.cpp)
7-
target_link_libraries (Examples AudioFile)
3+
set (AUDIOFILE_EXAMPLE Example)
4+
5+
file (GLOB AUDIOFILE_EXAMPLES_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
6+
source_group (TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${AUDIOFILE_EXAMPLES_SOURCES})
7+
8+
add_executable (${AUDIOFILE_EXAMPLE} ${AUDIOFILE_EXAMPLES_SOURCES})
9+
target_link_libraries (${AUDIOFILE_EXAMPLE} PUBLIC AudioFile)
10+
target_compile_definitions (${AUDIOFILE_EXAMPLE} PUBLIC
11+
-D_USE_MATH_DEFINES # needed for M_PI macro
12+
-DPROJECT_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}")

tests/AiffLoadingTests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "doctest.h"
1+
#include "doctest/doctest.h"
22
#include <iostream>
33
#include <vector>
44
#include <AudioFile.h>

tests/CMakeLists.txt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
include_directories (doctest)
2-
include_directories (${AudioFile_SOURCE_DIR})
3-
4-
add_definitions(-DPROJECT_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}")
5-
61
file (COPY test-audio DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
72
file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/audio-write-tests)
83

9-
add_executable (Tests main.cpp GeneralTests.cpp WavLoadingTests.cpp AiffLoadingTests.cpp FileWritingTests.cpp SampleConversionTests.cpp)
10-
target_compile_features (Tests PRIVATE cxx_std_17)
11-
add_test (NAME Tests COMMAND Tests)
4+
set (AUDIOFILE_TESTS Tests)
5+
6+
file (GLOB AUDIOFILE_TESTS_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
7+
source_group (TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${AUDIOFILE_TESTS_SOURCES})
8+
9+
add_executable (${AUDIOFILE_TESTS} ${AUDIOFILE_TESTS_SOURCES})
10+
target_include_directories (${AUDIOFILE_TESTS} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
11+
target_link_libraries (${AUDIOFILE_TESTS} PUBLIC AudioFile)
12+
target_compile_features (${AUDIOFILE_TESTS} PRIVATE cxx_std_17)
13+
target_compile_definitions (${AUDIOFILE_TESTS} PUBLIC
14+
-D_USE_MATH_DEFINES # needed for M_PI macro
15+
-DPROJECT_BINARY_DIR="${CMAKE_CURRENT_BINARY_DIR}")
1216

13-
# add_executable (LoadingTests main.cpp WavLoadingTests.cpp AiffLoadingTests.cpp)
14-
# target_compile_features (LoadingTests PRIVATE cxx_std_17)
15-
# add_test (NAME LoadingTests COMMAND LoadingTests)
17+
add_test (NAME ${AUDIOFILE_TESTS} COMMAND ${AUDIOFILE_TESTS})

tests/FileWritingTests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "doctest.h"
1+
#include "doctest/doctest.h"
22
#include <iostream>
33
#include <vector>
44
#include <cmath>

tests/GeneralTests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "doctest.h"
1+
#include "doctest/doctest.h"
22
#include <iostream>
33
#include <vector>
44
#include <math.h>

tests/SampleConversionTests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "doctest.h"
1+
#include "doctest/doctest.h"
22
#include <iostream>
33
#include <vector>
44
#include <AudioFile.h>

tests/WavLoadingTests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "doctest.h"
1+
#include "doctest/doctest.h"
22
#include <iostream>
33
#include <vector>
44
#include <AudioFile.h>

tests/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
22
#define DOCTEST_CONFIG_COLORS_NONE
3-
#include "doctest.h"
3+
#include "doctest/doctest.h"

0 commit comments

Comments
 (0)