diff --git a/CMakeLists.txt b/CMakeLists.txt index fb89561b2378756f2e94cb151eac32220165149a..d275e70e655846107704d8552fba31f6c95290da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,17 +3,18 @@ project (Cryptlib C) include("ExternalProject") -find_program(MAKE_PATH NAMES make mingw32-make REQUIRED) find_program(PATCH_PATH NAMES patch REQUIRED) find_program(ENV_PATH NAMES env REQUIRED) find_program(SH_PATH NAMES sh REQUIRED) if(WIN32) set(MAKE_FLAGS MINGW32_NT-6.1 OSNAME=win32 RANLIB=${CMAKE_RANLIB} AR=${CMAKE_AR} CC=${CMAKE_C_COMPILER} MAKE=${MAKE_PATH}) - set(BUILD_CMD ${MAKE_PATH} ${MAKE_FLAGS}) find_program(UNZIP_PATH tar REQUIRED) set(DOWNLOAD_CMD "${UNZIP_PATH}" -xf "${CMAKE_CURRENT_SOURCE_DIR}/dist/cryptlib.zip" -C "<SOURCE_DIR>") + find_program(MAKE_PATH NAMES msbuild REQUIRED) + set(BUILD_CMD ${msbuild} /p:Configuration=Release /p:Platform=Win32 cryptlib.sln) else() + find_program(MAKE_PATH NAMES make mingw32-make REQUIRED) if("$ENV{CMAKE_BUILD_PARALLEL_LEVEL}" STREQUAL "") set(MAKE_FLAGS ${MAKE_FLAGS} -j 32) else() diff --git a/patches/cl-msvc-sucks-datetime.patch b/patches/cl-msvc-sucks-datetime.patch new file mode 100644 index 0000000000000000000000000000000000000000..0470e50db41987867f1927c3b3acdb011f46ffce --- /dev/null +++ b/patches/cl-msvc-sucks-datetime.patch @@ -0,0 +1,12 @@ +--- misc/consts.h.orig 2022-02-25 03:29:19.561319000 -0500 ++++ misc/consts.h 2022-02-25 03:31:30.766485000 -0500 +@@ -346,8 +346,7 @@ + #define MAX_TIME_VALUE ( YEARS_TO_SECONDS( 2036 - 1970 ) ) + + #if ( defined( __clang__ ) && ( __clang_major__ > 5 ) ) || \ +- ( defined( __GNUC__ ) && ( __GNUC__ > 6 ) ) || \ +- ( defined( _MSC_VER ) && VC_GE_2017( _MSC_VER ) ) ++ ( defined( __GNUC__ ) && ( __GNUC__ > 6 ) ) + #define CURRENT_TIME_VALUE ( ( DATE_YEAR + DATE_MONTH + DATE_DAY - 30 ) * 86400 ) + #else + #define CURRENT_TIME_VALUE ( YEARS_TO_SECONDS( 2019 - 1970 ) ) diff --git a/patches/cl-windowsbuildfix.patch b/patches/cl-windowsbuildfix.patch new file mode 100644 index 0000000000000000000000000000000000000000..d70b83112bf4da17d79052064c2439e8317542fd --- /dev/null +++ b/patches/cl-windowsbuildfix.patch @@ -0,0 +1,51 @@ +--- crypt32.vcxproj.orig 2022-02-25 03:16:40.714299000 -0500 ++++ crypt32.vcxproj 2022-02-25 03:20:40.528577000 -0500 +@@ -35,27 +35,27 @@ + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>NotSet</CharacterSet> +- <PlatformToolset>v140</PlatformToolset> ++ <PlatformToolset>v143</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>NotSet</CharacterSet> +- <PlatformToolset>v140</PlatformToolset> ++ <PlatformToolset>v143</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>NotSet</CharacterSet> +- <PlatformToolset>v140</PlatformToolset> ++ <PlatformToolset>v143</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>NotSet</CharacterSet> +- <PlatformToolset>v140</PlatformToolset> ++ <PlatformToolset>v143</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> +@@ -392,9 +392,6 @@ + <ClCompile Include="envelope\res_env.c" /> + <ClCompile Include="io\dns.c" /> + <ClCompile Include="io\dns_srv.c" /> +- <ClCompile Include="io\eap.c" /> +- <ClCompile Include="io\eap_rd.c" /> +- <ClCompile Include="io\eap_wr.c" /> + <ClCompile Include="io\file.c" /> + <ClCompile Include="io\http.c" /> + <ClCompile Include="io\http_parse.c" /> +@@ -607,4 +604,4 @@ + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +-</Project> +\ No newline at end of file ++</Project>