diff --git a/.gitmodules b/.gitmodules index b0e5a858c..b43a910ab 100644 --- a/.gitmodules +++ b/.gitmodules @@ -37,12 +37,6 @@ [submodule "discord-rpc"] path = externals/discord-rpc url = https://github.com/discordapp/discord-rpc.git -[submodule "externals/libzmq"] - path = externals/libzmq - url = https://github.com/zeromq/libzmq -[submodule "externals/cppzmq"] - path = externals/cppzmq - url = https://github.com/zeromq/cppzmq [submodule "cpp-jwt"] path = externals/cpp-jwt url = https://github.com/arun11299/cpp-jwt.git diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 55bf4f8c4..ae92ce861 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -100,98 +100,3 @@ if (ENABLE_WEB_SERVICE) add_library(cpp-jwt INTERFACE) target_include_directories(cpp-jwt INTERFACE ./cpp-jwt/include) endif() - -if (ENABLE_SCRIPTING) - # ZeroMQ - # libzmq includes its own clang-format target, which conflicts with the - # clang-format in Citra if libzmq is added as a subdirectory. An external - # project gets around this issue. Unfortunately, a lot of different - # configuration options are required for each different platform. An - # attempt was made to use CMake variables where possible, but some - # information necessarily had to be repeated. Hopefully there is not - # often a need to change anything. - if (MINGW) - if (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") - set(LIBZMQ_MAKE mingw32-make) - set(LIBZMQ_COMPILER "") - set(LIBZMQ_TOOLCHAIN_FILE "") - else() - set(LIBZMQ_MAKE make) - set(LIBZMQ_COMPILER -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER};-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}) - set(LIBZMQ_TOOLCHAIN_FILE -DCMAKE_TOOLCHAIN_FILE=${PROJECT_SOURCE_DIR}/CMakeModules/MinGWCross.cmake) - endif() - ExternalProject_Add(libzmq-external - SOURCE_DIR ./libzmq - CMAKE_ARGS -DWITH_PERF_TOOL=OFF;-DZMQ_BUILD_TESTS=OFF;-DENABLE_CPACK=OFF;-DCMAKE_MAKE_PROGRAM=${LIBZMQ_MAKE};-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE};${LIBZMQ_TOOLCHAIN_FILE};${LIBZMQ_COMPILER} - BUILD_COMMAND cmake --build ${CMAKE_CURRENT_BINARY_DIR}/libzmq-external-prefix/src/libzmq-external-build --target libzmq-static --config ${CMAKE_BUILD_TYPE} - GIT_REPOSITORY https://github.com/zeromq/libzmq - GIT_TAG v4.2.5 - INSTALL_COMMAND "") - else() - if (MSVC) - set(LIBZMQ_COMPILER_FLAGS -DCMAKE_C_FLAGS=/GL-;-DCMAKE_CXX_FLAGS=/GL-) - else() - set(LIBZMQ_COMPILER_FLAGS "") - endif() - ExternalProject_Add(libzmq-external - SOURCE_DIR ./libzmq - CMAKE_ARGS -DCMAKE_MACOSX_RPATH=1;-DCMAKE_OSX_ARCHITECTURES=x86_64;-DWITH_PERF_TOOL=OFF;-DZMQ_BUILD_TESTS=OFF;-DENABLE_CPACK=OFF;-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE};${LIBZMQ_COMPILER_FLAGS} - BUILD_COMMAND cmake --build ${CMAKE_CURRENT_BINARY_DIR}/libzmq-external-prefix/src/libzmq-external-build --target libzmq-static --config ${CMAKE_BUILD_TYPE} - GIT_REPOSITORY https://github.com/zeromq/libzmq - GIT_TAG v4.2.5 - INSTALL_COMMAND "") - endif() - set(LIBZMQ_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzmq-external-prefix/src/libzmq-external-build/lib) - # On macOS, we need to build a fat static library containing both x86_64 and x86_64h, since macOS - # targets specify two architectures in their link command line ("-arch x86_64 -arch x86_64h"). - if (APPLE) - ExternalProject_Add(libzmq-external-h - SOURCE_DIR ./libzmq-h - CMAKE_ARGS -DCMAKE_MACOSX_RPATH=1;-DCMAKE_OSX_ARCHITECTURES=x86_64h;-DWITH_PERF_TOOL=OFF;-DZMQ_BUILD_TESTS=OFF;-DENABLE_CPACK=OFF;-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - BUILD_COMMAND cmake --build ${CMAKE_CURRENT_BINARY_DIR}/libzmq-external-h-prefix/src/libzmq-external-h-build --target libzmq-static --config ${CMAKE_BUILD_TYPE} - GIT_REPOSITORY https://github.com/zeromq/libzmq - GIT_TAG v4.2.5 - INSTALL_COMMAND "") - set(LIBZMQ_H_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzmq-external-h-prefix/src/libzmq-external-h-build/lib) - - add_library(libzmq-external-imported STATIC IMPORTED GLOBAL) - add_library(libzmq-external-imported-h STATIC IMPORTED GLOBAL) - add_dependencies(libzmq-external-imported libzmq-external) - add_dependencies(libzmq-external-imported-h libzmq-external-h) - else() - add_library(libzmq STATIC IMPORTED GLOBAL) - add_dependencies(libzmq libzmq-external) - endif() - # Set up the imported target properties - if (MSVC) - set_target_properties(libzmq PROPERTIES IMPORTED_LOCATION ${LIBZMQ_DIR}/${CMAKE_BUILD_TYPE}/libzmq-v141-mt-s-4_2_5${CMAKE_STATIC_LIBRARY_SUFFIX}) - set_target_properties(libzmq PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES iphlpapi${CMAKE_STATIC_LIBRARY_SUFFIX}) - else() - if (APPLE) - set_target_properties(libzmq-external-imported PROPERTIES IMPORTED_LOCATION ${LIBZMQ_DIR}/libzmq${CMAKE_STATIC_LIBRARY_SUFFIX}) - set_target_properties(libzmq-external-imported-h PROPERTIES IMPORTED_LOCATION ${LIBZMQ_H_DIR}/libzmq${CMAKE_STATIC_LIBRARY_SUFFIX}) - else() - set_target_properties(libzmq PROPERTIES IMPORTED_LOCATION ${LIBZMQ_DIR}/libzmq${CMAKE_STATIC_LIBRARY_SUFFIX}) - if(MINGW) - set_target_properties(libzmq PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES "ws2_32${CMAKE_STATIC_LIBRARY_SUFFIX};iphlpapi${CMAKE_STATIC_LIBRARY_SUFFIX}") - endif() - endif() - endif() - # On macOS, create the combined target - if (APPLE) - set(LIBZMQ_COMBINED_OUTPUT ${LIBZMQ_DIR}/libzmq_combined${CMAKE_STATIC_LIBRARY_SUFFIX}) - add_custom_target(libzmq-combined COMMAND lipo -create ${LIBZMQ_DIR}/libzmq${CMAKE_STATIC_LIBRARY_SUFFIX} ${LIBZMQ_H_DIR}/libzmq${CMAKE_STATIC_LIBRARY_SUFFIX} -o ${LIBZMQ_COMBINED_OUTPUT} - BYPRODUCTS ${LIBZMQ_COMBINED_OUTPUT}) - add_dependencies(libzmq-combined libzmq-external-imported libzmq-external-imported-h) - add_library(libzmq STATIC IMPORTED GLOBAL) - set_target_properties(libzmq PROPERTIES IMPORTED_LOCATION ${LIBZMQ_COMBINED_OUTPUT}) - add_dependencies(libzmq libzmq-combined) - endif() - # C interface to ZeroMQ - add_library(libzmq-headers INTERFACE) - target_include_directories(libzmq-headers INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/libzmq/include) - # C++ interface to ZeroMQ - add_library(cppzmq-headers INTERFACE) - target_include_directories(cppzmq-headers INTERFACE ./cppzmq) - add_dependencies(cppzmq-headers libzmq) -endif() diff --git a/externals/cppzmq b/externals/cppzmq deleted file mode 160000 index 6aa3ab686..000000000 --- a/externals/cppzmq +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6aa3ab686e916cb0e62df7fa7d12e0b13ae9fae6 diff --git a/externals/libzmq b/externals/libzmq deleted file mode 160000 index d062edd8c..000000000 --- a/externals/libzmq +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d062edd8c142384792955796329baf1e5a3377cd diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 2098a296b..7b1973624 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -462,7 +462,3 @@ if (ARCHITECTURE_x86_64) ) target_link_libraries(core PRIVATE dynarmic) endif() - -if (ENABLE_SCRIPTING) - target_link_libraries(core PUBLIC libzmq-headers cppzmq-headers libzmq) -endif()