diff --git a/CMakeLists.txt b/CMakeLists.txt index 373b0b502e..3f2c138ff6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -534,23 +534,6 @@ add_subdirectory(cmake) add_subdirectory(include) add_subdirectory(lib) if (NOT CUDAQ_DISABLE_RUNTIME) - # Crow suffers from this issue when using libc++: - # https://github.com/CrowCpp/Crow/issues/576 - # A workaround is applied depending on operating system rather then standard library specific. - # Instead of OS specific fix, detect in code whether _LIBCPP_VERSION is defined and apply fix. - # Only apply the patch if not already applied. - execute_process(COMMAND ${GIT_EXECUTABLE} -C tpls/Crow/ apply ../customizations/Crow/json.h.diff --ignore-whitespace --reverse --check - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - RESULT_VARIABLE GIT_PATCH_RESULT - ERROR_QUIET) - if (NOT GIT_PATCH_RESULT EQUAL "0") - execute_process(COMMAND ${GIT_EXECUTABLE} -C tpls/Crow/ apply ../customizations/Crow/json.h.diff --ignore-whitespace - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - RESULT_VARIABLE GIT_PATCH_RESULT) - endif() - if (NOT GIT_PATCH_RESULT EQUAL "0") - message(FATAL_ERROR "Applying patch to submodule failed with ${GIT_PATCH_RESULT}, please update patch") - endif() add_subdirectory(runtime) endif() add_subdirectory(tools) diff --git a/tpls/Crow b/tpls/Crow index 4f3f5deaaa..94a011b9f7 160000 --- a/tpls/Crow +++ b/tpls/Crow @@ -1 +1 @@ -Subproject commit 4f3f5deaaa01825c63c83431bfa96ccec195f741 +Subproject commit 94a011b9f7c0a991e5382927a2dbe5a7d9a056b8 diff --git a/tpls/customizations/Crow/README.md b/tpls/customizations/Crow/README.md deleted file mode 100644 index 5e6761ec0c..0000000000 --- a/tpls/customizations/Crow/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Crow patches - -This folder contains changes that deviate from the content of the Crow -repository. This file contains some comments about why these patches were -created. - -## Building with libc++ - -Crow suffers from [this issue](https://github.com/CrowCpp/Crow/issues/576) when -building with `libc++` (the LLVM C++ standard library) instead of `libstdc++` -(the GNU C++ standard library). The necessary fix to enable building with -`libc++` is added by applying the patch in json.h.diff. -This change has already been contributed to the Crow repository. It has been -merged in commit ad337a8a868d1d6bc61e9803fc82f36c61f706de, after version 1.1.0. -As soon as a new release comes out, the Crow submodule commit should be updated -and the patch here removed. diff --git a/tpls/customizations/Crow/json.h.diff b/tpls/customizations/Crow/json.h.diff deleted file mode 100644 index 6a1760db28..0000000000 --- a/tpls/customizations/Crow/json.h.diff +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/include/crow/json.h b/include/crow/json.h -index 3359a9cc..1f551444 100644 ---- a/include/crow/json.h -+++ b/include/crow/json.h -@@ -1656,7 +1656,7 @@ namespace crow - } - else - { --#if defined(__APPLE__) || defined(__MACH__) || defined(__FreeBSD__) || defined(__ANDROID__) -+#if defined(__APPLE__) || defined(__MACH__) || defined(__FreeBSD__) || defined(__ANDROID__) || defined(_LIBCPP_VERSION) - o = std::unique_ptr(new object(initializer_list)); - #else - (*o) = initializer_list; -@@ -1675,7 +1675,7 @@ namespace crow - } - else - { --#if defined(__APPLE__) || defined(__MACH__) || defined(__FreeBSD__) -+#if defined(__APPLE__) || defined(__MACH__) || defined(__FreeBSD__) || defined(_LIBCPP_VERSION) - o = std::unique_ptr(new object(value)); - #else - (*o) = value;