diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 85 |
1 files changed, 52 insertions, 33 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index b06bd6d..fc4ea81 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,30 +6,22 @@ option(DEMO_SIZE_OPT "Enable size optimization flags" OFF) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -# Search in both debug and release -set(WGPU_SEARCH_PATHS - ${CMAKE_CURRENT_SOURCE_DIR}/third_party/wgpu-native/target/debug - ${CMAKE_CURRENT_SOURCE_DIR}/third_party/wgpu-native/target/release -) - -find_library( - WGPU_LIBRARY NAMES libwgpu_native.a wgpu_native.lib wgpu_native - HINTS ${WGPU_SEARCH_PATHS} - REQUIRED -) +# Find wgpu-native (system install) +find_library(WGPU_LIBRARY NAMES wgpu_native libwgpu_native REQUIRED) +find_path(WGPU_INCLUDE_DIR NAMES webgpu.h PATH_SUFFIXES webgpu-headers REQUIRED) include_directories( src third_party - third_party/wgpu-native/ffi - third_party/wgpu-native/ffi/webgpu-headers + ${WGPU_INCLUDE_DIR} + third_party/glfw3webgpu ) find_package(glfw3 REQUIRED) set(DEMO_LIBS glfw ${WGPU_LIBRARY}) -# Platform-specific dependencies for wgpu-native +# Platform-specific dependencies if (APPLE) set_source_files_properties(src/platform.cc PROPERTIES COMPILE_FLAGS "-x objective-c++") list(APPEND DEMO_LIBS @@ -52,6 +44,7 @@ add_executable(demo64k src/audio/idct.cc src/audio/window.cc src/audio/synth.cc + third_party/glfw3webgpu/glfw3webgpu.c ) target_link_libraries(demo64k PRIVATE ${DEMO_LIBS}) @@ -86,31 +79,57 @@ if(DEMO_BUILD_TESTS) target_include_directories(test_synth PRIVATE src) add_test(NAME SynthEngineTest COMMAND test_synth) - add_executable(test_spectool - src/tests/test_spectool.cc - src/audio/audio.cc - src/audio/window.cc - src/audio/fdct.cc - src/audio/synth.cc - src/audio/idct.cc - ) - target_include_directories(test_spectool PRIVATE src third_party) + add_executable(test_spectool + + src/tests/test_spectool.cc + + src/audio/audio.cc + + src/audio/window.cc + + src/audio/fdct.cc + + src/audio/synth.cc + + src/audio/idct.cc + + third_party/glfw3webgpu/glfw3webgpu.c + + ) + + target_include_directories(test_spectool PRIVATE + + src + + third_party + + ${WGPU_INCLUDE_DIR} + + third_party/glfw3webgpu + + ) target_link_libraries(test_spectool PRIVATE ${DEMO_LIBS}) add_test(NAME SpectoolEndToEndTest COMMAND test_spectool) endif() option(DEMO_BUILD_TOOLS "Build tools" OFF) if(DEMO_BUILD_TOOLS) - add_executable(spectool - tools/spectool.cc - src/platform.cc - src/audio/audio.cc - src/audio/fdct.cc - src/audio/idct.cc - src/audio/window.cc - src/audio/synth.cc - ) - target_include_directories(spectool PRIVATE src third_party) + add_executable(spectool + tools/spectool.cc + src/platform.cc + src/audio/audio.cc + src/audio/fdct.cc + src/audio/idct.cc + src/audio/window.cc + src/audio/synth.cc + third_party/glfw3webgpu/glfw3webgpu.c + ) + target_include_directories(spectool PRIVATE + src + third_party + ${WGPU_INCLUDE_DIR} + third_party/glfw3webgpu + ) target_link_libraries(spectool PRIVATE ${DEMO_LIBS}) add_executable(specview |
