diff --git a/cmake/SfizzDeps.cmake b/cmake/SfizzDeps.cmake index 1e4bd556..fbf5f8e0 100644 --- a/cmake/SfizzDeps.cmake +++ b/cmake/SfizzDeps.cmake @@ -183,9 +183,21 @@ add_library(sfizz::atomic_queue ALIAS sfizz_atomic_queue) target_include_directories(sfizz_atomic_queue INTERFACE "external/atomic_queue/include") # The ghc::filesystem library -add_library(sfizz_filesystem INTERFACE) +if(FALSE) + # header-only + add_library(sfizz_filesystem INTERFACE) + target_include_directories(sfizz_filesystem INTERFACE "external/filesystem/include") +else() + # static library + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/fs_std_impl.cpp" "#include ") + add_library(sfizz_filesystem_impl STATIC "${CMAKE_CURRENT_BINARY_DIR}/fs_std_impl.cpp") + target_include_directories(sfizz_filesystem_impl PUBLIC "external/filesystem/include") + # + add_library(sfizz_filesystem INTERFACE) + target_compile_definitions(sfizz_filesystem INTERFACE "GHC_FILESYSTEM_FWD") + target_link_libraries(sfizz_filesystem INTERFACE sfizz_filesystem_impl) +endif() add_library(sfizz::filesystem ALIAS sfizz_filesystem) -target_include_directories(sfizz_filesystem INTERFACE "external/filesystem/include") # The atomic library add_library(sfizz_atomic INTERFACE) diff --git a/src/sfizz/FileMetadata.cpp b/src/sfizz/FileMetadata.cpp index 65ba9677..541734a9 100644 --- a/src/sfizz/FileMetadata.cpp +++ b/src/sfizz/FileMetadata.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include