Skip to content

Commit

Permalink
Use custom filesystem implementation (#810)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonas Karlsson committed Aug 14, 2019
1 parent eebded6 commit 88a8bdc
Show file tree
Hide file tree
Showing 8 changed files with 5,135 additions and 67 deletions.
22 changes: 0 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,28 +38,6 @@ endif()
set(CHOOSE_PYTHON_IGNORE_BOOST ON)
include(Common)

if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
message(FATAL_ERROR "AppleClang from Xcode is not supported. "
"Please install llvm clang with\n"
"> brew install llvm\n"
"and set CC, CXX and LDFLAGS env variables before running cmake, e.g.\n"
"> CC=/usr/local/opt/llvm/bin/clang\n"
"> CXX=/usr/local/opt/llvm/bin/clang++\n"
"> LDFLAGS=\"-L/usr/local/opt/llvm/lib\"")
endif()

if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8 OR
CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7)
set(CMAKE_CXX_STANDARD 14)
else()
set(CMAKE_CXX_STANDARD 17)
endif()

set(STD_FILESYSTEM stdc++fs)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(STD_FILESYSTEM c++fs)
endif()

# Core dependencies
common_find_package(Boost REQUIRED COMPONENTS program_options)
common_find_package(OpenMP)
Expand Down
1 change: 0 additions & 1 deletion apps/BraynsIBL/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ set(BRAYNSIBL_LINK_LIBRARIES PRIVATE
${GLEW_LIBRARIES}
glfw
glm
${STD_FILESYSTEM}
)

common_application(braynsIBL)
Expand Down
2 changes: 1 addition & 1 deletion brayns/common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ set(BRAYNSCOMMON_HEADERS
set(BRAYNSCOMMON_INCLUDE_NAME brayns/common)
set(BRAYNSCOMMON_LINK_LIBRARIES
PUBLIC glm Async++
PRIVATE braynsParameters ${STD_FILESYSTEM} ${Boost_PROGRAM_OPTIONS_LIBRARY}
PRIVATE braynsParameters ${Boost_PROGRAM_OPTIONS_LIBRARY}
${FREEIMAGE_LIBRARIES}
)

Expand Down
43 changes: 3 additions & 40 deletions brayns/common/utils/filesystem.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,43 +17,6 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

// https://stackoverflow.com/a/53365539

// clang-format off

#ifndef INCLUDE_STD_FILESYSTEM_EXPERIMENTAL
# if defined(__cpp_lib_filesystem)
# define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 0
# elif defined(__cpp_lib_experimental_filesystem)
# define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 1
# elif !defined(__has_include)
# define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 1
# elif __has_include(<filesystem>)
# ifdef _MSC_VER
# if __has_include(<yvals_core.h>)
# include <yvals_core.h>
# if defined(_HAS_CXX17) && _HAS_CXX17
# define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 0
# endif
# endif
# ifndef INCLUDE_STD_FILESYSTEM_EXPERIMENTAL
# define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 1
# endif
# else // #ifdef _MSC_VER
# define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 0
# endif
# elif __has_include(<experimental/filesystem>)
# define INCLUDE_STD_FILESYSTEM_EXPERIMENTAL 1
# else
# error Could not find system header "<filesystem>" or "<experimental/filesystem>"
# endif
# if INCLUDE_STD_FILESYSTEM_EXPERIMENTAL
# include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
# else
# include <filesystem>
namespace fs = std::filesystem;
# endif
#endif

// clang-format on
// NOTE: replace with std::filesystem when upgrading to c++17
#include <deps/filesystem.hpp>
namespace fs = ghc::filesystem;
2 changes: 1 addition & 1 deletion brayns/engine/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ set(BRAYNSENGINE_PUBLIC_HEADERS
set(BRAYNSENGINE_INCLUDE_NAME brayns/engine)
set(BRAYNSENGINE_LINK_LIBRARIES
PUBLIC braynsCommon
PRIVATE braynsParameters ${FREEIMAGE_LIBRARIES} ${STD_FILESYSTEM}
PRIVATE braynsParameters ${FREEIMAGE_LIBRARIES}
)

common_library(braynsEngine)
2 changes: 1 addition & 1 deletion brayns/io/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ set(BRAYNSIO_PUBLIC_HEADERS
)

set(BRAYNSIO_LINK_LIBRARIES
PRIVATE braynsParameters braynsCommon braynsEngine ${STD_FILESYSTEM}
PRIVATE braynsParameters braynsCommon braynsEngine
)

if(BRAYNS_LIBARCHIVE_ENABLED)
Expand Down

0 comments on commit 88a8bdc

Please sign in to comment.