diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 782f788f..c9a71e58 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,16 @@ +add_library(ds3 SHARED + ds3.h ds3.c + ds3_net.h ds3_net.c + ds3_request.h + ds3_string_multimap_impl.h ds3_string_multimap_impl.c + ds3_string_multimap.h ds3_string_multimap.c + ds3_string.h ds3_string.c + ds3_utils.h ds3_utils.c + ds3_connection.h ds3_connection.c) + if (WIN32) - set(WINDOWS_VS_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/win32/output/bin) + #set(WINDOWS_VS_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/win32/src/Debug) + set(WINDOWS_VS_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/win32/src/Release) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR}) @@ -11,19 +22,6 @@ if (WIN32) set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${WINDOWS_VS_OUTPUT_DIR} ) set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${WINDOWS_VS_OUTPUT_DIR} ) endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES ) -endif(WIN32) - -add_library(ds3 SHARED - ds3.h ds3.c - ds3_net.h ds3_net.c - ds3_request.h - ds3_string_multimap_impl.h ds3_string_multimap_impl.c - ds3_string_multimap.h ds3_string_multimap.c - ds3_string.h ds3_string.c - ds3_utils.h ds3_utils.c - ds3_connection.h ds3_connection.c) - -if (WIN32) add_definitions(-DLIBRARY_EXPORTS -DCURL_STATICLIB -Dinline=__inline -D__STDC_FORMAT_MACROS -D_CRT_SECURE_NO_WARNINGS) set_source_files_properties(ds3.c PROPERTIES LANGUAGE CXX) diff --git a/src/ds3.c b/src/ds3.c index 8a150097..683d618e 100644 --- a/src/ds3.c +++ b/src/ds3.c @@ -21629,7 +21629,7 @@ size_t ds3_read_from_fd(void* buffer, size_t size, size_t nmemb, void* user_data return read(*(int*)user_data, buffer, size * nmemb); } -#ifdef _MSC_VER +#ifdef _WIN32 static void get_file_size_windows(const char* file_path, uint64_t* file_size) { BY_HANDLE_FILE_INFORMATION info; HANDLE file_handle; @@ -21734,7 +21734,7 @@ static ds3_bulk_object_response* _ds3_bulk_object_from_file(const char* file_nam obj->name = ds3_str_init(file_name); -#ifdef _MSC_VER +#ifdef _WIN32 get_file_size_windows(file_to_stat, &obj->length); #else get_file_size_posix(file_to_stat, &obj->length); diff --git a/win32/deps/run_install_dot_bat_instead.ps1 b/win32/deps/run_install_dot_bat_instead.ps1 index 0f2ffea6..e68e5684 100644 --- a/win32/deps/run_install_dot_bat_instead.ps1 +++ b/win32/deps/run_install_dot_bat_instead.ps1 @@ -28,6 +28,8 @@ Install-Prebuilt include\glib-2.0 $zlib = "build\zlib-1.2.11" cd $zlib nmake -f win32\Makefile.msc +# Comment previous and uncomment next line for debug build +#nmake -f win32\Makefile.msc /MDd cd ..\.. copy "$zlib\zlib.h" "$installFolder\include" copy "$zlib\zconf.h" "$installFolder\include" @@ -36,6 +38,8 @@ copy "$zlib\zlib.lib" "$installFolder\lib\zlib_a.lib" # Compile and install libcurl. $curl = "build\curl-7.37.0" cd "$curl\winbuild" +nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no DEBUG=no +# Comment previous and uncomment next line for debug build nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no cd ..\..\.. copy "$curl\builds\libcurl-vc-x86-release-static-zlib-static-ipv6-sspi-spnego-winssl\lib\libcurl_a.lib" "$installFolder\lib" @@ -44,6 +48,8 @@ xcopy /s "$curl\builds\libcurl-vc-x86-release-static-zlib-static-ipv6-sspi-spneg # Compile and install libxml. $libxml2 = "build\libxml2-2.9.4" cd "$libxml2\win32" +cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no debug=no +# Comment previous and uncomment next line for debug build cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no nmake -f Makefile.msvc cd ..\..\.. diff --git a/win32/deps/run_install_dot_bat_instead_64.ps1 b/win32/deps/run_install_dot_bat_instead_64.ps1 index a0d17424..bca033fd 100644 --- a/win32/deps/run_install_dot_bat_instead_64.ps1 +++ b/win32/deps/run_install_dot_bat_instead_64.ps1 @@ -28,6 +28,8 @@ Install-Prebuilt include\glib-2.0 $zlib = "build\zlib-1.2.11" cd $zlib nmake -f win32\Makefile.msc MACHINE=x64 +# Comment previous and uncomment next line for debug build +#nmake -f win32\Makefile.msc MACHINE=x64 /MDd cd ..\.. copy "$zlib\zlib.h" "$installFolder\include" copy "$zlib\zconf.h" "$installFolder\include" @@ -36,7 +38,9 @@ copy "$zlib\zlib.lib" "$installFolder\lib\zlib_a.lib" # Compile and install libcurl. $curl = "build\curl-7.37.0" cd "$curl\winbuild" -nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no MACHINE=x64 +nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no DEBUG=no MACHINE=x64 +# Comment previous and uncomment next line for debug build +#nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no MACHINE=x64 cd ..\..\.. copy "$curl\builds\libcurl-vc-x64-release-static-zlib-static-ipv6-sspi-spnego-winssl\lib\libcurl_a.lib" "$installFolder\lib" xcopy /s "$curl\builds\libcurl-vc-x64-release-static-zlib-static-ipv6-sspi-spnego-winssl\include" "$installFolder\include" @@ -44,7 +48,9 @@ xcopy /s "$curl\builds\libcurl-vc-x64-release-static-zlib-static-ipv6-sspi-spneg # Compile and install libxml. $libxml2 = "build\libxml2-2.9.4" cd "$libxml2\win32" -cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no +cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no debug=no +# Comment previous and uncomment next line for debug build +#cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no nmake -f Makefile.msvc MACHINE=x64 cd ..\..\.. copy "$libxml2\win32\bin.msvc\libxml2_a.lib" "$installFolder\lib" diff --git a/win32/run_package_dot_bat_instead.ps1 b/win32/run_package_dot_bat_instead.ps1 index 876ebbfc..0b1fe69c 100644 --- a/win32/run_package_dot_bat_instead.ps1 +++ b/win32/run_package_dot_bat_instead.ps1 @@ -1,11 +1,16 @@ # Build the application. cmake .. -G "Visual Studio 14 2015" -msbuild libds3.sln +msbuild libds3.sln /p:Configuration=Release # Copy dependencies into output directory -Copy-Item -Path deps\install\* -Destination output -Recurse -force -Copy-Item -Path output\bin\ds3.lib -Destination output\lib -Copy-Item -Path ..\src\*.h -Exclude ds3_request.h,ds3_net.h,ds3_utils.h,ds3_string_multimap_impl.h,ds3_connection.h -Destination output\include -force +Copy-Item deps\install -Destination output -Recurse -force + +Copy-Item src\Release\* -Destination output\bin -force +Copy-Item src\Release\ds3.lib -Destination output\lib\ds3.lib + +Copy-Item ..\src\ds3.h output\include +Copy-Item ..\src\ds3_string.h output\include +Copy-Item ..\src\ds3_string_multimap.h output\include # Create a zip file with the application contents. [Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem") diff --git a/win32/run_package_dot_bat_instead_64.ps1 b/win32/run_package_dot_bat_instead_64.ps1 index 43b781cc..1c7ca01a 100644 --- a/win32/run_package_dot_bat_instead_64.ps1 +++ b/win32/run_package_dot_bat_instead_64.ps1 @@ -1,11 +1,16 @@ # Build the application. cmake .. -G "Visual Studio 14 2015 Win64" -msbuild libds3.sln +msbuild libds3.sln /p:Configuration=Release # Copy dependencies into output directory -Copy-Item -Path deps\install\* -Destination output -Recurse -force -Copy-Item -Path output\bin\ds3.lib -Destination output\lib -Copy-Item -Path ..\src\*.h -Exclude ds3_request.h,ds3_net.h,ds3_utils.h,ds3_string_multimap_impl.h,ds3_connection.h -Destination output\include -force +Copy-Item deps\install -Destination output -Recurse -force + +Copy-Item src\Release\* -Destination output\bin -force +Copy-Item src\Release\ds3.lib -Destination output\lib\ds3.lib + +Copy-Item ..\src\ds3.h output\include +Copy-Item ..\src\ds3_string.h output\include +Copy-Item ..\src\ds3_string_multimap.h output\include # Create a zip file with the application contents. [Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem")