Skip to content

Commit efadaca

Browse files
authored
Merge pull request #187 from DenverM80/win_build_release
Fix build process to create release binaries without debug symbols
2 parents ec01a69 + b7274d7 commit efadaca

File tree

6 files changed

+46
-26
lines changed

6 files changed

+46
-26
lines changed

src/CMakeLists.txt

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1+
add_library(ds3 SHARED
2+
ds3.h ds3.c
3+
ds3_net.h ds3_net.c
4+
ds3_request.h
5+
ds3_string_multimap_impl.h ds3_string_multimap_impl.c
6+
ds3_string_multimap.h ds3_string_multimap.c
7+
ds3_string.h ds3_string.c
8+
ds3_utils.h ds3_utils.c
9+
ds3_connection.h ds3_connection.c)
10+
111
if (WIN32)
2-
set(WINDOWS_VS_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/win32/output/bin)
12+
#set(WINDOWS_VS_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/win32/src/Debug)
13+
set(WINDOWS_VS_OUTPUT_DIR ${PROJECT_SOURCE_DIR}/win32/src/Release)
314

415
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR})
516
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${WINDOWS_VS_OUTPUT_DIR})
@@ -11,19 +22,6 @@ if (WIN32)
1122
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${WINDOWS_VS_OUTPUT_DIR} )
1223
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${WINDOWS_VS_OUTPUT_DIR} )
1324
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
14-
endif(WIN32)
15-
16-
add_library(ds3 SHARED
17-
ds3.h ds3.c
18-
ds3_net.h ds3_net.c
19-
ds3_request.h
20-
ds3_string_multimap_impl.h ds3_string_multimap_impl.c
21-
ds3_string_multimap.h ds3_string_multimap.c
22-
ds3_string.h ds3_string.c
23-
ds3_utils.h ds3_utils.c
24-
ds3_connection.h ds3_connection.c)
25-
26-
if (WIN32)
2725

2826
add_definitions(-DLIBRARY_EXPORTS -DCURL_STATICLIB -Dinline=__inline -D__STDC_FORMAT_MACROS -D_CRT_SECURE_NO_WARNINGS)
2927
set_source_files_properties(ds3.c PROPERTIES LANGUAGE CXX)

src/ds3.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21629,7 +21629,7 @@ size_t ds3_read_from_fd(void* buffer, size_t size, size_t nmemb, void* user_data
2162921629
return read(*(int*)user_data, buffer, size * nmemb);
2163021630
}
2163121631

21632-
#ifdef _MSC_VER
21632+
#ifdef _WIN32
2163321633
static void get_file_size_windows(const char* file_path, uint64_t* file_size) {
2163421634
BY_HANDLE_FILE_INFORMATION info;
2163521635
HANDLE file_handle;
@@ -21734,7 +21734,7 @@ static ds3_bulk_object_response* _ds3_bulk_object_from_file(const char* file_nam
2173421734

2173521735
obj->name = ds3_str_init(file_name);
2173621736

21737-
#ifdef _MSC_VER
21737+
#ifdef _WIN32
2173821738
get_file_size_windows(file_to_stat, &obj->length);
2173921739
#else
2174021740
get_file_size_posix(file_to_stat, &obj->length);

win32/deps/run_install_dot_bat_instead.ps1

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ Install-Prebuilt include\glib-2.0
2828
$zlib = "build\zlib-1.2.11"
2929
cd $zlib
3030
nmake -f win32\Makefile.msc
31+
# Comment previous and uncomment next line for debug build
32+
#nmake -f win32\Makefile.msc /MDd
3133
cd ..\..
3234
copy "$zlib\zlib.h" "$installFolder\include"
3335
copy "$zlib\zconf.h" "$installFolder\include"
@@ -36,6 +38,8 @@ copy "$zlib\zlib.lib" "$installFolder\lib\zlib_a.lib"
3638
# Compile and install libcurl.
3739
$curl = "build\curl-7.37.0"
3840
cd "$curl\winbuild"
41+
nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no DEBUG=no
42+
# Comment previous and uncomment next line for debug build
3943
nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no
4044
cd ..\..\..
4145
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
4448
# Compile and install libxml.
4549
$libxml2 = "build\libxml2-2.9.4"
4650
cd "$libxml2\win32"
51+
cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no debug=no
52+
# Comment previous and uncomment next line for debug build
4753
cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no
4854
nmake -f Makefile.msvc
4955
cd ..\..\..

win32/deps/run_install_dot_bat_instead_64.ps1

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ Install-Prebuilt include\glib-2.0
2828
$zlib = "build\zlib-1.2.11"
2929
cd $zlib
3030
nmake -f win32\Makefile.msc MACHINE=x64
31+
# Comment previous and uncomment next line for debug build
32+
#nmake -f win32\Makefile.msc MACHINE=x64 /MDd
3133
cd ..\..
3234
copy "$zlib\zlib.h" "$installFolder\include"
3335
copy "$zlib\zconf.h" "$installFolder\include"
@@ -36,15 +38,19 @@ copy "$zlib\zlib.lib" "$installFolder\lib\zlib_a.lib"
3638
# Compile and install libcurl.
3739
$curl = "build\curl-7.37.0"
3840
cd "$curl\winbuild"
39-
nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no MACHINE=x64
41+
nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no DEBUG=no MACHINE=x64
42+
# Comment previous and uncomment next line for debug build
43+
#nmake -f Makefile.vc mode=static WITH_DEVEL=$installFolder WITH_ZLIB=static ENABLE_IDN=no MACHINE=x64
4044
cd ..\..\..
4145
copy "$curl\builds\libcurl-vc-x64-release-static-zlib-static-ipv6-sspi-spnego-winssl\lib\libcurl_a.lib" "$installFolder\lib"
4246
xcopy /s "$curl\builds\libcurl-vc-x64-release-static-zlib-static-ipv6-sspi-spnego-winssl\include" "$installFolder\include"
4347

4448
# Compile and install libxml.
4549
$libxml2 = "build\libxml2-2.9.4"
4650
cd "$libxml2\win32"
47-
cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no
51+
cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no debug=no
52+
# Comment previous and uncomment next line for debug build
53+
#cscript configure.js include="$installFolder\include" lib="$installFolder\lib" iconv=no
4854
nmake -f Makefile.msvc MACHINE=x64
4955
cd ..\..\..
5056
copy "$libxml2\win32\bin.msvc\libxml2_a.lib" "$installFolder\lib"

win32/run_package_dot_bat_instead.ps1

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
# Build the application.
22
cmake .. -G "Visual Studio 14 2015"
3-
msbuild libds3.sln
3+
msbuild libds3.sln /p:Configuration=Release
44

55
# Copy dependencies into output directory
6-
Copy-Item -Path deps\install\* -Destination output -Recurse -force
7-
Copy-Item -Path output\bin\ds3.lib -Destination output\lib
8-
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
6+
Copy-Item deps\install -Destination output -Recurse -force
7+
8+
Copy-Item src\Release\* -Destination output\bin -force
9+
Copy-Item src\Release\ds3.lib -Destination output\lib\ds3.lib
10+
11+
Copy-Item ..\src\ds3.h output\include
12+
Copy-Item ..\src\ds3_string.h output\include
13+
Copy-Item ..\src\ds3_string_multimap.h output\include
914

1015
# Create a zip file with the application contents.
1116
[Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem")

win32/run_package_dot_bat_instead_64.ps1

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
# Build the application.
22
cmake .. -G "Visual Studio 14 2015 Win64"
3-
msbuild libds3.sln
3+
msbuild libds3.sln /p:Configuration=Release
44

55
# Copy dependencies into output directory
6-
Copy-Item -Path deps\install\* -Destination output -Recurse -force
7-
Copy-Item -Path output\bin\ds3.lib -Destination output\lib
8-
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
6+
Copy-Item deps\install -Destination output -Recurse -force
7+
8+
Copy-Item src\Release\* -Destination output\bin -force
9+
Copy-Item src\Release\ds3.lib -Destination output\lib\ds3.lib
10+
11+
Copy-Item ..\src\ds3.h output\include
12+
Copy-Item ..\src\ds3_string.h output\include
13+
Copy-Item ..\src\ds3_string_multimap.h output\include
914

1015
# Create a zip file with the application contents.
1116
[Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem")

0 commit comments

Comments
 (0)