Create Windows installer #53
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -11,3 +11,4 @@ scripts/cleanup.sh
|
|||||||
version.rc
|
version.rc
|
||||||
version.cpp
|
version.cpp
|
||||||
override.sh
|
override.sh
|
||||||
|
repertory.iss
|
||||||
|
@@ -115,6 +115,14 @@ if(PROJECT_BUILD)
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp
|
||||||
@ONLY
|
@ONLY
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.iss.in")
|
||||||
|
configure_file(
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.iss.in
|
||||||
|
${PROJECT_DIST_DIR}/../${PROJECT_NAME}.iss
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
message(STATUS "-=[CMake Settings]=-")
|
message(STATUS "-=[CMake Settings]=-")
|
||||||
message(STATUS " C standard: ${CMAKE_C_STANDARD}")
|
message(STATUS " C standard: ${CMAKE_C_STANDARD}")
|
||||||
|
@@ -1,15 +1,15 @@
|
|||||||
set(BINUTILS_VERSION 2.44)
|
set(BINUTILS_VERSION 2.44)
|
||||||
set(BOOST2_MAJOR_VERSION 1)
|
|
||||||
set(BOOST2_MINOR_VERSION 76)
|
|
||||||
set(BOOST2_PATCH_VERSION 0)
|
|
||||||
set(BOOST_MAJOR_VERSION 1)
|
set(BOOST_MAJOR_VERSION 1)
|
||||||
set(BOOST_MINOR_VERSION 88)
|
set(BOOST_MINOR_VERSION 88)
|
||||||
set(BOOST_PATCH_VERSION 0)
|
set(BOOST_PATCH_VERSION 0)
|
||||||
|
set(BOOST2_MAJOR_VERSION 1)
|
||||||
|
set(BOOST2_MINOR_VERSION 76)
|
||||||
|
set(BOOST2_PATCH_VERSION 0)
|
||||||
set(CPP_HTTPLIB_VERSION 0.23.1)
|
set(CPP_HTTPLIB_VERSION 0.23.1)
|
||||||
set(CURL2_VERSION 8_15_0)
|
|
||||||
set(CURL_VERSION 8.15.0)
|
set(CURL_VERSION 8.15.0)
|
||||||
set(EXPAT2_VERSION 2_7_1)
|
set(CURL2_VERSION 8_15_0)
|
||||||
set(EXPAT_VERSION 2.7.1)
|
set(EXPAT_VERSION 2.7.1)
|
||||||
|
set(EXPAT2_VERSION 2_7_1)
|
||||||
set(GCC_VERSION 15.1.0)
|
set(GCC_VERSION 15.1.0)
|
||||||
set(GTEST_VERSION 1.17.0)
|
set(GTEST_VERSION 1.17.0)
|
||||||
set(ICU_VERSION 76-1)
|
set(ICU_VERSION 76-1)
|
||||||
@@ -21,7 +21,7 @@ set(PKG_CONFIG_VERSION 0.29.2)
|
|||||||
set(PUGIXML_VERSION 1.15)
|
set(PUGIXML_VERSION 1.15)
|
||||||
set(ROCKSDB_VERSION 10.4.2)
|
set(ROCKSDB_VERSION 10.4.2)
|
||||||
set(SPDLOG_VERSION 1.15.3)
|
set(SPDLOG_VERSION 1.15.3)
|
||||||
set(SQLITE2_VERSION 3.50.3)
|
|
||||||
set(SQLITE_VERSION 3500300)
|
set(SQLITE_VERSION 3500300)
|
||||||
|
set(SQLITE2_VERSION 3.50.3)
|
||||||
set(STDUUID_VERSION 1.2.3)
|
set(STDUUID_VERSION 1.2.3)
|
||||||
set(ZLIB_VERSION 1.3.1)
|
set(ZLIB_VERSION 1.3.1)
|
||||||
|
@@ -799,6 +799,7 @@ RUN if [ -f "/3rd_party/libevent-${MY_LIBEVENT_VERSION}-stable.tar.gz" ]; then \
|
|||||||
&& cmake .. \
|
&& cmake .. \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \
|
-DCMAKE_CXX_STANDARD=${MY_CXX_STANDARD} \
|
||||||
|
-DCMAKE_C_FLAGS="-include winsock2.h -include ws2tcpip.h -include iphlpapi.h" \
|
||||||
-DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW_DIR} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
-DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
||||||
-DEVENT__DISABLE_OPENSSL=ON \
|
-DEVENT__DISABLE_OPENSSL=ON \
|
||||||
|
49
repertory.iss.in
Normal file
49
repertory.iss.in
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
; Script generated by the Inno Setup Script Wizard.
|
||||||
|
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||||
|
|
||||||
|
#define MyAppName "repertory"
|
||||||
|
#define MyAppVersion "@PROJECT_MAJOR_VERSION@.@PROJECT_MINOR_VERSION@.@PROJECT_REVISION_VERSION@-@PROJECT_RELEASE_ITER@_@PROJECT_GIT_REV@"
|
||||||
|
#define MyAppPublisher "BlockStorage"
|
||||||
|
#define MyAppURL "https://git.fifthgrid.com/BlockStorage/repertory"
|
||||||
|
#define MyAppExeName "repertory.exe"
|
||||||
|
|
||||||
|
[Setup]
|
||||||
|
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
|
||||||
|
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
|
||||||
|
AppId={{BD165823-1DEF-4D23-87DC-3D7A9BB73A00}
|
||||||
|
AppName={#MyAppName}
|
||||||
|
AppVersion={#MyAppVersion}
|
||||||
|
;AppVerName={#MyAppName} {#MyAppVersion}
|
||||||
|
AppPublisher={#MyAppPublisher}
|
||||||
|
AppPublisherURL={#MyAppURL}
|
||||||
|
AppSupportURL={#MyAppURL}
|
||||||
|
AppUpdatesURL={#MyAppURL}
|
||||||
|
DefaultDirName={autopf}\{#MyAppName}
|
||||||
|
UninstallDisplayIcon={app}\{#MyAppExeName}
|
||||||
|
; "ArchitecturesAllowed=x64compatible" specifies that Setup cannot run
|
||||||
|
; on anything but x64 and Windows 11 on Arm.
|
||||||
|
ArchitecturesAllowed=x64compatible
|
||||||
|
; "ArchitecturesInstallIn64BitMode=x64compatible" requests that the
|
||||||
|
; install be done in "64-bit mode" on x64 or Windows 11 on Arm,
|
||||||
|
; meaning it should use the native 64-bit Program Files directory and
|
||||||
|
; the 64-bit view of the registry.
|
||||||
|
ArchitecturesInstallIn64BitMode=x64compatible
|
||||||
|
DefaultGroupName={#MyAppName}
|
||||||
|
DisableProgramGroupPage=yes
|
||||||
|
LicenseFile=repertory\LICENSE.md
|
||||||
|
; Uncomment the following line to run in non administrative install mode (install for current user only).
|
||||||
|
;PrivilegesRequired=lowest
|
||||||
|
OutputBaseFilename=repertory_{#MyAppVersion}_@PROJECT_GIT_REV@_setup
|
||||||
|
SolidCompression=yes
|
||||||
|
WizardStyle=modern
|
||||||
|
|
||||||
|
[Languages]
|
||||||
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||||
|
|
||||||
|
[Files]
|
||||||
|
Source: "repertory\"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs uninsneveruninstall
|
||||||
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||||
|
|
||||||
|
[Icons]
|
||||||
|
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
||||||
|
|
@@ -43,6 +43,10 @@ make -j${CMAKE_BUILD_PARALLEL_LEVEL} || exit 1
|
|||||||
popd
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
if [ -f "${PROJECT_SOURCE_DIR}/LICENSE.md" ]; then
|
||||||
|
rsync -av --progress "${PROJECT_SOURCE_DIR}/LICENSE.md" "${PROJECT_DIST_DIR}/"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "${PROJECT_IS_MINGW}" != "1" ] && [ "${PROJECT_REQUIRE_ALPINE}" == "ON" ]; then
|
if [ "${PROJECT_IS_MINGW}" != "1" ] && [ "${PROJECT_REQUIRE_ALPINE}" == "ON" ]; then
|
||||||
rsync -av --progress /usr/share/icu/74.2/ "${PROJECT_DIST_DIR}/icu/"
|
rsync -av --progress /usr/share/icu/74.2/ "${PROJECT_DIST_DIR}/icu/"
|
||||||
fi
|
fi
|
||||||
@@ -94,4 +98,15 @@ if [ -f "${PROJECT_SOURCE_DIR}/post_build.sh" ]; then
|
|||||||
"${PROJECT_SOURCE_DIR}/post_build.sh"
|
"${PROJECT_SOURCE_DIR}/post_build.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
|
||||||
|
if [ -f "${PROJECT_DIST_DIR}/../${PROJECT_NAME}.iss" ]; then
|
||||||
|
pushd "${PROJECT_DIST_DIR}/../"
|
||||||
|
if [ "${PROJECT_IS_MINGW_UNIX}" != "1" ]; then
|
||||||
|
wine64 "c:/Program Files (x86)/Inno Setup 6/iscc.exe" "${PROJECT_NAME}.iss" || exit 1
|
||||||
|
else
|
||||||
|
iscc "${APP}.iss" || exit 1
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
fi
|
||||||
. "${PROJECT_SCRIPTS_DIR}/make_package.sh" "$1" "$2" "$3" "$4" "$5"
|
. "${PROJECT_SCRIPTS_DIR}/make_package.sh" "$1" "$2" "$3" "$4" "$5"
|
||||||
|
@@ -63,4 +63,16 @@ tar cvzf "${PROJECT_OUT_FILE}" -C ${TEMP_DIR} . || error_exit "failed to create
|
|||||||
create_file_validations "${PROJECT_OUT_FILE}"
|
create_file_validations "${PROJECT_OUT_FILE}"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
if [ "${PROJECT_IS_MINGW}" == "1" ] && [ -f "${PROJECT_DIST_DIR}/../${PROJECT_NAME}.iss" ]; then
|
||||||
|
pushd "${PROJECT_DIST_DIR}/../"
|
||||||
|
if [ "${PROJECT_IS_MINGW_UNIX}" != "1" ]; then
|
||||||
|
wine64 "c:/Program Files (x86)/Inno Setup 6/iscc.exe" "${PROJECT_NAME}.iss" || exit 1
|
||||||
|
else
|
||||||
|
iscc "${APP}.iss" || exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
create_file_validations "OutputDir/${PROJECT_NAME}_${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}-${PROJECT_RELEASE_ITER}_${PROJECT_GIT_REV}_setup.exe"
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
|
||||||
error_exit "created package ${PROJECT_FILE_PART}" 0
|
error_exit "created package ${PROJECT_FILE_PART}" 0
|
||||||
|
Reference in New Issue
Block a user