diff options
Diffstat (limited to 'externals')
| -rw-r--r-- | externals/CMakeLists.txt | 3 | ||||
| m--------- | externals/boost | 0 | ||||
| -rw-r--r-- | externals/cryptopp/CMakeLists.txt | 161 | ||||
| m--------- | externals/cryptopp/cryptopp | 0 | ||||
| m--------- | externals/dynarmic | 0 | ||||
| -rw-r--r-- | externals/microprofile/microprofile.h | 2 | ||||
| -rw-r--r-- | externals/microprofile/microprofileui.h | 2 | ||||
| m--------- | externals/nihstro | 0 |
8 files changed, 166 insertions, 2 deletions
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 7e4b05ffc..309e98464 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt | |||
| @@ -6,3 +6,6 @@ if (ARCHITECTURE_x86_64) | |||
| 6 | target_compile_options(xbyak INTERFACE -fno-operator-names) | 6 | target_compile_options(xbyak INTERFACE -fno-operator-names) |
| 7 | endif() | 7 | endif() |
| 8 | endif() | 8 | endif() |
| 9 | |||
| 10 | add_subdirectory(cryptopp) | ||
| 11 | |||
diff --git a/externals/boost b/externals/boost | |||
| Subproject f005c955f8147a29667aa0b65257abc3dd520b0 | Subproject 351972396392c97a659b9a02f34ce9269293d21 | ||
diff --git a/externals/cryptopp/CMakeLists.txt b/externals/cryptopp/CMakeLists.txt new file mode 100644 index 000000000..653af1e4b --- /dev/null +++ b/externals/cryptopp/CMakeLists.txt | |||
| @@ -0,0 +1,161 @@ | |||
| 1 | # The CMakeLists.txt shipped with cryptopp pollutes our option list and installation list, | ||
| 2 | # so we made our own one. This is basically a trimmed down version of the shipped CMakeLists.txt | ||
| 3 | # The differences are: | ||
| 4 | # - removed support for legacy CMake versions | ||
| 5 | # - removed support for 32-bit | ||
| 6 | # - removed -march=native flag | ||
| 7 | # - removed rdrand module.asm as a workaround for an issue (see below) | ||
| 8 | # - added prefix "CRYPTOPP_" to all option names | ||
| 9 | # - disabled testing | ||
| 10 | # - disabled installation | ||
| 11 | # - disabled documentation | ||
| 12 | # - configured to build a static library only | ||
| 13 | |||
| 14 | include(TestBigEndian) | ||
| 15 | include(CheckCXXCompilerFlag) | ||
| 16 | |||
| 17 | #============================================================================ | ||
| 18 | # Settable options | ||
| 19 | #============================================================================ | ||
| 20 | |||
| 21 | option(CRYPTOPP_DISABLE_ASM "Disable ASM" OFF) | ||
| 22 | option(CRYPTOPP_DISABLE_SSSE3 "Disable SSSE3" OFF) | ||
| 23 | option(CRYPTOPP_DISABLE_AESNI "Disable AES-NI" OFF) | ||
| 24 | option(CRYPTOPP_DISABLE_CXXFLAGS_OPTIMIZATIONS "Disable CXXFLAGS optimizations" OFF) | ||
| 25 | |||
| 26 | #============================================================================ | ||
| 27 | # Internal compiler options | ||
| 28 | #============================================================================ | ||
| 29 | |||
| 30 | # Only set when cross-compiling, http://www.vtk.org/Wiki/CMake_Cross_Compiling | ||
| 31 | if (NOT (CMAKE_SYSTEM_VERSION AND CMAKE_SYSTEM_PROCESSOR)) | ||
| 32 | set(CRYPTOPP_CROSS_COMPILE 1) | ||
| 33 | else() | ||
| 34 | set(CRYPTOPP_CROSS_COMPILE 0) | ||
| 35 | endif() | ||
| 36 | |||
| 37 | # Don't use RPATH's. The resulting binary could fail a security audit. | ||
| 38 | if (NOT CMAKE_VERSION VERSION_LESS 2.8.12) | ||
| 39 | set(CMAKE_MACOSX_RPATH 0) | ||
| 40 | endif() | ||
| 41 | |||
| 42 | if(CMAKE_CXX_COMPILER_ID MATCHES "Intel") | ||
| 43 | add_definitions(-wd68 -wd186 -wd279 -wd327 -wd161 -wd3180) | ||
| 44 | endif() | ||
| 45 | |||
| 46 | # Endianness | ||
| 47 | TEST_BIG_ENDIAN(IS_BIG_ENDIAN) | ||
| 48 | if(IS_BIG_ENDIAN) | ||
| 49 | add_definitions(-DIS_BIG_ENDIAN) | ||
| 50 | endif() | ||
| 51 | |||
| 52 | if(CRYPTOPP_DISABLE_ASM) | ||
| 53 | add_definitions(-DCRYPTOPP_DISABLE_ASM) | ||
| 54 | endif() | ||
| 55 | if(CRYPTOPP_DISABLE_SSSE3) | ||
| 56 | add_definitions(-DCRYPTOPP_DISABLE_SSSE3) | ||
| 57 | endif() | ||
| 58 | if(CRYPTOPP_DISABLE_AESNI) | ||
| 59 | add_definitions(-DCRYPTOPP_DISABLE_AESNI) | ||
| 60 | endif() | ||
| 61 | |||
| 62 | # We need the output 'uname -s' for Unix and Linux system detection | ||
| 63 | if (NOT CRYPTOPP_CROSS_COMPILE) | ||
| 64 | set (UNAME_CMD "uname") | ||
| 65 | set (UNAME_ARG "-s") | ||
| 66 | execute_process(COMMAND ${UNAME_CMD} ${UNAME_ARG} | ||
| 67 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | ||
| 68 | RESULT_VARIABLE UNAME_RESULT | ||
| 69 | OUTPUT_VARIABLE UNAME_SYSTEM) | ||
| 70 | string(REGEX REPLACE "\n$" "" UNAME_SYSTEM "${UNAME_SYSTEM}") | ||
| 71 | endif() | ||
| 72 | |||
| 73 | # We need the output 'uname -m' for Unix and Linux platform detection | ||
| 74 | if (NOT CRYPTOPP_CROSS_COMPILE) | ||
| 75 | set (UNAME_CMD "uname") | ||
| 76 | set (UNAME_ARG "-m") | ||
| 77 | execute_process(COMMAND ${UNAME_CMD} ${UNAME_ARG} | ||
| 78 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | ||
| 79 | RESULT_VARIABLE UNAME_RESULT | ||
| 80 | OUTPUT_VARIABLE UNAME_MACHINE) | ||
| 81 | string(REGEX REPLACE "\n$" "" UNAME_MACHINE "${UNAME_MACHINE}") | ||
| 82 | endif() | ||
| 83 | |||
| 84 | if(WINDOWS_STORE OR WINDOWS_PHONE) | ||
| 85 | if("${CMAKE_SYSTEM_VERSION}" MATCHES "10\\.0.*") | ||
| 86 | SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D\"_WIN32_WINNT=0x0A00\"" ) | ||
| 87 | endif() | ||
| 88 | SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FI\"winapifamily.h\"" ) | ||
| 89 | endif() | ||
| 90 | |||
| 91 | # Enable PIC for all targets except Windows and 32-bit x86. | ||
| 92 | # Avoid on 32-bit x86 due to register pressures. | ||
| 93 | if ((NOT CRYPTOPP_CROSS_COMPILE) AND (NOT (WINDOWS OR WINDOWS_STORE OR WINDOWS_PHONE))) | ||
| 94 | # Use Regex; match i386, i486, i586 and i686 | ||
| 95 | if (NOT (${UNAME_MACHINE} MATCHES "i.86")) | ||
| 96 | SET(CMAKE_POSITION_INDEPENDENT_CODE 1) | ||
| 97 | endif() | ||
| 98 | endif() | ||
| 99 | |||
| 100 | # Link is driven through the compiler, but CXXFLAGS are not used. Also see | ||
| 101 | # http://public.kitware.com/pipermail/cmake/2003-June/003967.html | ||
| 102 | if (NOT (WINDOWS OR WINDOWS_STORE OR WINDOWS_PHONE)) | ||
| 103 | SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_FLAGS}") | ||
| 104 | endif() | ||
| 105 | |||
| 106 | #============================================================================ | ||
| 107 | # Sources & headers | ||
| 108 | #============================================================================ | ||
| 109 | |||
| 110 | # Library headers | ||
| 111 | file(GLOB cryptopp_HEADERS cryptopp/*.h) | ||
| 112 | |||
| 113 | # Library sources. You can use the GNUmakefile to generate the list: `make sources`. | ||
| 114 | file(GLOB cryptopp_SOURCES cryptopp/*.cpp) | ||
| 115 | list(REMOVE_ITEM cryptopp_SOURCES | ||
| 116 | # These are removed in the original CMakeLists.txt | ||
| 117 | ${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/pch.cpp | ||
| 118 | ${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/simple.cpp | ||
| 119 | ${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/winpipes.cpp | ||
| 120 | ${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/cryptlib_bds.cpp | ||
| 121 | ${cryptopp_SOURCES_TEST} | ||
| 122 | ) | ||
| 123 | |||
| 124 | if(MINGW OR WIN32) | ||
| 125 | list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/winpipes.cpp) | ||
| 126 | endif() | ||
| 127 | |||
| 128 | if(MSVC AND NOT CRYPTOPP_DISABLE_ASM) | ||
| 129 | if(${CMAKE_GENERATOR} MATCHES ".*ARM") | ||
| 130 | message(STATUS "Disabling ASM because ARM is specified as target platform.") | ||
| 131 | else() | ||
| 132 | # Note that we removed rdrand.asm. This is a workaround for the issue that rdrand.asm cannnot compiled properly | ||
| 133 | # on MSVC. Because there is also a rdrand.S file in the submodule, CMake will specify the target path for | ||
| 134 | # rdrand.asm as "/crytopp.dir/{Debug|Release}/cryptopp/rdrand.asm.obj". The additional target folder "cryptopp" | ||
| 135 | # is specified because the file rdrand.asm is in the source folder "cryptopp". But MSVC assembler can't build | ||
| 136 | # target file to an non-existing folder("cryptopp"). | ||
| 137 | list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/x64dll.asm) | ||
| 138 | list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/x64masm.asm) | ||
| 139 | # list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/rdrand.asm) | ||
| 140 | set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/x64dll.asm PROPERTIES COMPILE_FLAGS "/D_M_X64") | ||
| 141 | set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/x64masm.asm PROPERTIES COMPILE_FLAGS "/D_M_X64") | ||
| 142 | # set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/cryptopp/rdrand.asm PROPERTIES COMPILE_FLAGS "/D_M_X64") | ||
| 143 | enable_language(ASM_MASM) | ||
| 144 | endif() | ||
| 145 | endif() | ||
| 146 | |||
| 147 | #============================================================================ | ||
| 148 | # Compile targets | ||
| 149 | #============================================================================ | ||
| 150 | add_library(cryptopp STATIC ${cryptopp_SOURCES}) | ||
| 151 | |||
| 152 | #============================================================================ | ||
| 153 | # Third-party libraries | ||
| 154 | #============================================================================ | ||
| 155 | |||
| 156 | if(WIN32) | ||
| 157 | target_link_libraries(cryptopp ws2_32) | ||
| 158 | endif() | ||
| 159 | |||
| 160 | find_package(Threads) | ||
| 161 | target_link_libraries(cryptopp ${CMAKE_THREAD_LIBS_INIT}) | ||
diff --git a/externals/cryptopp/cryptopp b/externals/cryptopp/cryptopp new file mode 160000 | |||
| Subproject 841c37e34765487a2968357369ab74db8b10a62 | |||
diff --git a/externals/dynarmic b/externals/dynarmic | |||
| Subproject 36082087ded632079b16d24137fdd0c450ce82e | Subproject 358cf7c32205a5114964865c86a8455daf81073 | ||
diff --git a/externals/microprofile/microprofile.h b/externals/microprofile/microprofile.h index f45c9ba82..384863ccc 100644 --- a/externals/microprofile/microprofile.h +++ b/externals/microprofile/microprofile.h | |||
| @@ -201,7 +201,7 @@ typedef uint64_t ThreadIdType; | |||
| 201 | int64_t MicroProfileGetTick(); | 201 | int64_t MicroProfileGetTick(); |
| 202 | #define MP_TICK() MicroProfileGetTick() | 202 | #define MP_TICK() MicroProfileGetTick() |
| 203 | #define MP_BREAK() __debugbreak() | 203 | #define MP_BREAK() __debugbreak() |
| 204 | #define MP_THREAD_LOCAL __declspec(thread) | 204 | #define MP_THREAD_LOCAL thread_local |
| 205 | #define MP_STRCASECMP _stricmp | 205 | #define MP_STRCASECMP _stricmp |
| 206 | #define MP_GETCURRENTTHREADID() GetCurrentThreadId() | 206 | #define MP_GETCURRENTTHREADID() GetCurrentThreadId() |
| 207 | typedef uint32_t ThreadIdType; | 207 | typedef uint32_t ThreadIdType; |
diff --git a/externals/microprofile/microprofileui.h b/externals/microprofile/microprofileui.h index 66a73abc5..09223b33f 100644 --- a/externals/microprofile/microprofileui.h +++ b/externals/microprofile/microprofileui.h | |||
| @@ -1231,7 +1231,7 @@ void MicroProfileDrawDetailedBars(uint32_t nWidth, uint32_t nHeight, int nBaseY, | |||
| 1231 | char ThreadName[MicroProfileThreadLog::THREAD_MAX_LEN + 16]; | 1231 | char ThreadName[MicroProfileThreadLog::THREAD_MAX_LEN + 16]; |
| 1232 | const char* cLocal = MicroProfileIsLocalThread(nThreadId) ? "*": " "; | 1232 | const char* cLocal = MicroProfileIsLocalThread(nThreadId) ? "*": " "; |
| 1233 | 1233 | ||
| 1234 | #if defined(WIN32) | 1234 | #if defined(_WIN32) |
| 1235 | // nThreadId is 32-bit on Windows | 1235 | // nThreadId is 32-bit on Windows |
| 1236 | int nStrLen = snprintf(ThreadName, sizeof(ThreadName)-1, "%04x: %s%s", nThreadId, cLocal, i < nNumThreadsBase ? &S.Pool[i]->ThreadName[0] : MICROPROFILE_THREAD_NAME_FROM_ID(nThreadId) ); | 1236 | int nStrLen = snprintf(ThreadName, sizeof(ThreadName)-1, "%04x: %s%s", nThreadId, cLocal, i < nNumThreadsBase ? &S.Pool[i]->ThreadName[0] : MICROPROFILE_THREAD_NAME_FROM_ID(nThreadId) ); |
| 1237 | #else | 1237 | #else |
diff --git a/externals/nihstro b/externals/nihstro | |||
| Subproject 26a0a04a458df2b9ba6e39608bee183d8a0a00e | Subproject 7e24743af21a7c2e3cef21ef174ae4269d0cfda | ||