mirror of
https://github.com/Neo-Desktop/WindowsXPKg
synced 2025-07-01 18:00:22 +03:00
Compare commits
12 Commits
ccf93a0089
...
cmake-fix
Author | SHA1 | Date | |
---|---|---|---|
33774f7ad2 | |||
de09feb18f | |||
bde4371cbe | |||
f43a2d5c37 | |||
46c39df15d | |||
c078247bea | |||
232be6aba2 | |||
c0c3149be7 | |||
d411d56d81 | |||
11253c5e2c | |||
9f7920ca2d | |||
9063e32a89 |
46
.github/workflows/dos-djgpp.yml
vendored
46
.github/workflows/dos-djgpp.yml
vendored
@ -27,26 +27,26 @@ on:
|
|||||||
branches: [ "master" ]
|
branches: [ "master" ]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CMAKE_C_COMPILER: ${{ github.workspace }}/djgpp/bin/i586-pc-msdosdjgpp-gcc
|
CC: ${{ github.workspace }}/djgpp/bin/i586-pc-msdosdjgpp-gcc
|
||||||
CMAKE_CXX_COMPILER: ${{ github.workspace }}/djgpp/bin/i586-pc-msdosdjgpp-g++
|
CXX: ${{ github.workspace }}/djgpp/bin/i586-pc-msdosdjgpp-g++
|
||||||
CMAKE_FIND_ROOT_PATH: ${{ github.workspace }}/djgpp
|
CMAKE_FIND_ROOT_PATH: ${{ github.workspace }}/djgpp
|
||||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM: NEVER
|
|
||||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY: ONLY
|
|
||||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE: ONLY
|
|
||||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE: ONLY
|
|
||||||
WATT_ROOT: ${{ github.workspace }}/djgpp/watt32
|
WATT_ROOT: ${{ github.workspace }}/djgpp/watt32
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout Source Tree
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Setup build environment
|
- name: Setup build environment
|
||||||
run: |
|
run: |
|
||||||
sudo apt -y update
|
sudo apt -y update
|
||||||
sudo apt -y install build-essential cmake wget 7zip git flex nasm libslang2-dev pkg-config libslang2-modules gcc-multilib
|
sudo apt -y install build-essential cmake wget 7zip git flex libfl-dev nasm libslang2-dev pkg-config libslang2-modules gcc-multilib
|
||||||
|
|
||||||
- name: Download and Setup DJGPP Toolchain
|
- name: Download and Setup DJGPP Toolchain
|
||||||
run: |
|
run: |
|
||||||
|
pushd ${{ github.workspace }}
|
||||||
wget https://github.com/andrewwutw/build-djgpp/releases/download/v3.4/djgpp-linux64-gcc1220.tar.bz2
|
wget https://github.com/andrewwutw/build-djgpp/releases/download/v3.4/djgpp-linux64-gcc1220.tar.bz2
|
||||||
tar xjf djgpp-linux64-gcc1220.tar.bz2
|
tar xjf djgpp-linux64-gcc1220.tar.bz2
|
||||||
cd ${{ github.workspace }}/djgpp
|
cd ${{ github.workspace }}/djgpp
|
||||||
@ -54,40 +54,34 @@ jobs:
|
|||||||
cd watt32/util
|
cd watt32/util
|
||||||
make clean && make linux
|
make clean && make linux
|
||||||
cd ../src
|
cd ../src
|
||||||
|
source ${{ github.workspace }}/djgpp/setenv
|
||||||
./configur.sh djgpp
|
./configur.sh djgpp
|
||||||
make -f djgpp.mak
|
make -f djgpp.mak
|
||||||
ln -s ${{ github.workspace }}/djgpp/watt32/lib/libwatt.a ${{ github.workspace }}/djgpp/lib
|
ln -s ${WATT_ROOT}/lib/libwatt.a ${{ github.workspace }}/djgpp/lib
|
||||||
|
|
||||||
- name: Checkout and Cross Compile OpenSSL 3.1
|
- name: Checkout and Cross Compile OpenSSL 3.1.2
|
||||||
run: |
|
run: |
|
||||||
git clone https://github.com/UMSKT/openssl.git openssl
|
git clone https://github.com/UMSKT/openssl.git openssl
|
||||||
pushd openssl
|
pushd openssl
|
||||||
git checkout openssl-3.1.1
|
|
||||||
source ${{ github.workspace }}/djgpp/setenv
|
source ${{ github.workspace }}/djgpp/setenv
|
||||||
./Configure no-threads -DOPENSSL_DEV_NO_ATOMICS --prefix=${{ github.workspace }}/djgpp DJGPP
|
./Configure no-threads -DOPENSSL_DEV_NO_ATOMICS --prefix=${{ github.workspace }}/djgpp DJGPP
|
||||||
make && make install
|
make && make install
|
||||||
popd
|
popd
|
||||||
ls ${{ github.workspace }}/djgpp/i586-pc-msdosdjgpp/bin/
|
|
||||||
|
|
||||||
- name: Checkout Source Tree
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
uses: threeal/cmake-action@v1.2.0
|
|
||||||
with:
|
|
||||||
c-compiler: gcc
|
|
||||||
cxx-compiler: g++
|
|
||||||
options: OPENSSL_ROOT_DIR:string=${{ github.workspace }}/djgpp DJGPP_WATT32=ON
|
|
||||||
run-build: true
|
|
||||||
|
|
||||||
- name: Test & Move files to correct directory
|
|
||||||
run: |
|
run: |
|
||||||
mkdir -p build/actions_upload
|
source ${{ github.workspace }}/djgpp/setenv
|
||||||
mv build/umskt build/actions_upload/umskt
|
pushd build
|
||||||
|
cmake ../ -D DJGPP_WATT32=${WATT_ROOT}/lib/libwatt.a -D CMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}
|
||||||
|
make
|
||||||
|
|
||||||
|
- name: Move executable to upload directory
|
||||||
|
run: |
|
||||||
|
mkdir build/actions_upload
|
||||||
|
mv build/umskt.exe build/actions_upload/
|
||||||
|
|
||||||
- name: Upload build artifact
|
- name: Upload build artifact
|
||||||
uses: actions/upload-artifact@v3.1.2
|
uses: actions/upload-artifact@v3.1.2
|
||||||
with:
|
with:
|
||||||
name: UMSKT-DOS-DJGPP
|
name: UMSKT-DOS
|
||||||
path: build/actions_upload
|
path: build/actions_upload
|
||||||
|
|
||||||
|
179
CMakeLists.txt
179
CMakeLists.txt
@ -18,49 +18,93 @@
|
|||||||
# @FileCreated by Andrew on 05/30/2023
|
# @FileCreated by Andrew on 05/30/2023
|
||||||
# @Maintainer Neo
|
# @Maintainer Neo
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.12)
|
CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
|
||||||
|
PROJECT(UMSKT)
|
||||||
|
SET(CMAKE_CXX_STANDARD 17)
|
||||||
|
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
SET(CMAKE_OSX_SYSROOT "macosx" CACHE PATH "macOS SDK path")
|
||||||
|
OPTION(UMSKT_USE_SHARED_OPENSSL "Force linking against the system-wide OpenSSL library" OFF)
|
||||||
|
OPTION(MUSL_STATIC "Enable fully static builds in a muslc environment (i.e. Alpine Linux)" OFF)
|
||||||
|
OPTION(DJGPP_WATT32 "Enable compilation and linking with DJGPP/WATT32/OpenSSL" OFF)
|
||||||
|
OPTION(MSVC_MSDOS_STUB "Specify a custom MS-DOS stub for a 32-bit MSVC compilation" OFF)
|
||||||
|
|
||||||
project(UMSKT)
|
SET(UMSKT_LINK_LIBS ${UMSKT_LINK_LIBS})
|
||||||
set(CMAKE_OSX_SYSROOT "macosx" CACHE PATH "macOS SDK path")
|
SET(UMSKT_LINK_DIRS ${UMSKT_LINK_DIRS})
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
IF(UMSKT_USE_SHARED_OPENSSL)
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
SET(OPENSSL_USE_STATIC_LIBS FALSE)
|
||||||
|
SET(OPENSSL_MSVC_STATIC_RT FALSE)
|
||||||
|
MESSAGE(WARNING "[UMSKT] Forcing shared OpenSSL runtime")
|
||||||
|
ELSE()
|
||||||
|
SET(OPENSSL_USE_STATIC_LIBS TRUE)
|
||||||
|
SET(OPENSSL_MSVC_STATIC_RT TRUE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
option(UMSKT_USE_SHARED_OPENSSL "Force linking against the system-wide OpenSSL library" OFF)
|
IF(DJGPP_WATT32)
|
||||||
option(MUSL_STATIC "Enable fully static builds in a muslc environment (i.e. Alpine Linux)" OFF)
|
SET(CMAKE_SYSTEM_NAME MSDOS)
|
||||||
option(DJGPP_WATT32 "Enable compilation and linking with DJGPP/WATT32/OpenSSL" OFF)
|
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
option(MSVC_MSDOS_STUB "Specify a custom MS-DOS stub for a 32-bit MSVC compilation" OFF)
|
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||||
|
SET(UMSKT_LINK_LIBS ${UMSKT_LINK_LIBS} ${DJGPP_WATT32})
|
||||||
|
SET(UMSKT_LINK_DIRS ${UMSKT_LINK_DIRS} ${WATT_ROOT}/lib)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
find_package(OpenSSL REQUIRED)
|
# find the system installed OpenSSL development library
|
||||||
|
FIND_PACKAGE(OpenSSL REQUIRED)
|
||||||
|
IF(NOT OPENSSL_FOUND)
|
||||||
|
MESSAGE(SEND_ERROR "OpenSSL Development Libraries Not Found")
|
||||||
|
MESSAGE(SEND_ERROR "Please consult your package manager of choice to install the prerequisite")
|
||||||
|
MESSAGE(SEND_ERROR "The package name is commonly called libssl-dev or openssl-dev depending on distribution")
|
||||||
|
MESSAGE(FATAL_ERROR "Can not continue without OpenSSL")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
if(NOT OpenSSL_FOUND)
|
# if we found shared libraries - do the following:
|
||||||
message(FATAL_ERROR "OpenSSL Development Libraries Not Found. Please install the required OpenSSL development package.")
|
STRING(REGEX MATCH "(\\.so|\\.dll|\\.dylib)$" OPENSSL_CRYPTO_SHARED "${OPENSSL_CRYPTO_LIBRARY}")
|
||||||
endif()
|
IF(OPENSSL_CRYPTO_SHARED)
|
||||||
|
MESSAGE(STATUS "[UMSKT] Detected Shared library version of OpenSSL")
|
||||||
|
SET(BUILD_SHARED_LIBS ON)
|
||||||
|
ELSE()
|
||||||
|
MESSAGE(STATUS "[UMSKT] Detected Static Library version of OpenSSL")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
if(UMSKT_USE_SHARED_OPENSSL)
|
# if we're compiling with MSVC, respect the DEBUG compile option
|
||||||
set(OPENSSL_USE_STATIC_LIBS FALSE)
|
IF(MSVC)
|
||||||
set(OPENSSL_MSVC_STATIC_RT FALSE)
|
SET(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
else()
|
IF(NOT BUILD_SHARED_LIBS)
|
||||||
set(OPENSSL_USE_STATIC_LIBS TRUE)
|
SET(CMAKE_CXX_FLAGS_RELEASE "/MT")
|
||||||
set(OPENSSL_MSVC_STATIC_RT TRUE)
|
SET(CMAKE_CXX_FLAGS_DEBUG "/MTd")
|
||||||
endif()
|
ELSE()
|
||||||
|
SET(CMAKE_CXX_FLAGS_RELEASE "/MD")
|
||||||
|
SET(CMAKE_CXX_FLAGS_DEBUG "/MDd")
|
||||||
|
ENDIF()
|
||||||
|
SET(CMAKE_EXE_LINKER_FLAGS "/INCREMENTAL:NO /NODEFAULTLIB:MSVCRT")
|
||||||
|
SET(CMAKE_ENABLE_EXPORTS ON)
|
||||||
|
SET(UMSKT_EXE_WINDOWS_EXTRA src/windows/umskt.rc)
|
||||||
|
SET(UMSKT_EXE_WINDOWS_DLL src/windows/dllmain.cpp)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
if(MUSL_STATIC AND NOT UMSKT_USE_SHARED_OPENSSL)
|
IF(MUSL_STATIC)
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
|
MESSAGE(STATUS "[UMSKT] Performing a fully static build using muslc")
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++")
|
SET(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc -static-libstdc++")
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
SET(CMAKE_SHARED_LINKER_FLAGS "-static -static-libgcc -static-libstdc++")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static-libgcc -static-libstdc++")
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++")
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static-libgcc -static-libstdc++")
|
||||||
endif()
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
include(cmake/CPM.cmake)
|
# initalize cpm.CMake
|
||||||
|
INCLUDE(cmake/CPM.cmake)
|
||||||
|
|
||||||
|
# fetch cpm.CMake dependencies
|
||||||
|
# Include JSON development library
|
||||||
CPMAddPackage(
|
CPMAddPackage(
|
||||||
NAME nlohmann_json
|
NAME nlohmann_json
|
||||||
GITHUB_REPOSITORY nlohmann/json
|
GITHUB_REPOSITORY nlohmann/json
|
||||||
VERSION 3.11.2
|
VERSION 3.11.2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Include fmt development library
|
||||||
CPMAddPackage(
|
CPMAddPackage(
|
||||||
NAME fmt
|
NAME fmt
|
||||||
GITHUB_REPOSITORY fmtlib/fmt
|
GITHUB_REPOSITORY fmtlib/fmt
|
||||||
@ -68,6 +112,7 @@ CPMAddPackage(
|
|||||||
VERSION 10.0.0
|
VERSION 10.0.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Include cmrc resource compiler
|
||||||
CPMAddPackage(
|
CPMAddPackage(
|
||||||
NAME cmrc
|
NAME cmrc
|
||||||
GITHUB_REPOSITORY vector-of-bool/cmrc
|
GITHUB_REPOSITORY vector-of-bool/cmrc
|
||||||
@ -75,35 +120,63 @@ CPMAddPackage(
|
|||||||
VERSION 2.0.1
|
VERSION 2.0.1
|
||||||
)
|
)
|
||||||
|
|
||||||
# For Emscripten builds, set CMAKE_TOOLCHAIN_FILE to the appropriate file
|
# Include Crypto++ development library
|
||||||
set(EMSCRIPTEN_BUILD OFF CACHE BOOL "Build for Emscripten" FORCE)
|
#CPMAddPackage(
|
||||||
if(EMSCRIPTEN_BUILD)
|
# NAME cryptopp-cmake
|
||||||
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/cmake/Emscripten.cmake" CACHE STRING "Emscripten toolchain file")
|
# GITHUB_REPOSITORY abdes/cryptopp-cmake
|
||||||
endif()
|
# GIT_TAG CRYPTOPP_8_8_0
|
||||||
|
# VERSION 8.8.0
|
||||||
|
# OPTIONS "CRYPTOPP_BUILD_TESTING OFF"
|
||||||
|
#)
|
||||||
|
|
||||||
|
#include googletest unit testing library
|
||||||
|
#CPMAddPackage(
|
||||||
|
# NAME googletest
|
||||||
|
# GITHUB_REPOSITORY google/googletest
|
||||||
|
# VERSION 1.13.0
|
||||||
|
# OPTIONS "INSTALL_GTEST OFF" "gtest_force_shared_crt"
|
||||||
|
#)
|
||||||
|
|
||||||
|
### Resource compilation
|
||||||
CMRC_ADD_RESOURCE_LIBRARY(umskt-rc ALIAS umskt::rc NAMESPACE umskt keys.json)
|
CMRC_ADD_RESOURCE_LIBRARY(umskt-rc ALIAS umskt::rc NAMESPACE umskt keys.json)
|
||||||
|
|
||||||
set(LIBUMSKT_SRC
|
SET(LIBUMSKT_SRC src/libumskt/libumskt.cpp src/libumskt/pidgen3/BINK1998.cpp src/libumskt/pidgen3/BINK2002.cpp src/libumskt/pidgen3/key.cpp src/libumskt/pidgen3/util.cpp src/libumskt/confid/confid.cpp src/libumskt/pidgen2/PIDGEN2.cpp src/libumskt/debugoutput.cpp)
|
||||||
src/libumskt/libumskt.cpp
|
|
||||||
src/libumskt/pidgen3/BINK1998.cpp
|
|
||||||
src/libumskt/pidgen3/BINK2002.cpp
|
|
||||||
src/libumskt/pidgen3/key.cpp
|
|
||||||
src/libumskt/pidgen3/util.cpp
|
|
||||||
src/libumskt/confid/confid.cpp
|
|
||||||
src/libumskt/pidgen2/PIDGEN2.cpp
|
|
||||||
src/libumskt/debugoutput.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UMSKT_USE_SHARED_OPENSSL)
|
#### Separate Build Path for emscripten
|
||||||
add_library(_umskt SHARED ${LIBUMSKT_SRC})
|
IF (EMSCRIPTEN)
|
||||||
else()
|
ADD_EXECUTABLE(umskt ${LIBUMSKT_SRC})
|
||||||
add_library(_umskt STATIC ${LIBUMSKT_SRC})
|
TARGET_INCLUDE_DIRECTORIES(umskt PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||||
endif()
|
TARGET_LINK_LIBRARIES(umskt -static OpenSSL::Crypto cryptopp::cryptopp fmt)
|
||||||
|
SET(CMAKE_EXECUTABLE_SUFFIX ".html")
|
||||||
|
|
||||||
target_include_directories(_umskt PUBLIC ${OPENSSL_INCLUDE_DIR})
|
SET_TARGET_PROPERTIES(umskt PROPERTIES COMPILE_FLAGS "-Os -sEXPORTED_RUNTIME_METHODS=ccall,cwrap")
|
||||||
target_link_libraries(_umskt PRIVATE OpenSSL::Crypto fmt)
|
SET_TARGET_PROPERTIES(umskt PROPERTIES LINK_FLAGS "-Os -sWASM=1 -sEXPORT_ALL=1 -sEXPORTED_RUNTIME_METHODS=ccall,cwrap --no-entry")
|
||||||
|
ELSE()
|
||||||
|
IF(NOT UMSKT_USE_SHARED_OPENSSL)
|
||||||
|
### Static library compilation
|
||||||
|
ADD_LIBRARY(_umskt STATIC ${LIBUMSKT_SRC})
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(_umskt PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||||
|
TARGET_LINK_LIBRARIES(_umskt -static OpenSSL::Crypto fmt ${UMSKT_LINK_LIBS})
|
||||||
|
ELSE()
|
||||||
|
### Shared library compilation
|
||||||
|
ADD_LIBRARY(_umskt SHARED ${LIBUMSKT_SRC} ${UMSKT_EXE_WINDOWS_EXTRA} ${UMSKT_EXE_WINDOWS_DLL})
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(_umskt PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||||
|
TARGET_LINK_LIBRARIES(_umskt OpenSSL::Crypto fmt ${UMSKT_LINK_LIBS})
|
||||||
|
TARGET_LINK_DIRECTORIES(_umskt PUBLIC ${UMSKT_LINK_DIRS})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
add_executable(umskt src/main.cpp src/cli.cpp ${UMSKT_EXE_WINDOWS_EXTRA})
|
### UMSKT executable compilation
|
||||||
|
ADD_EXECUTABLE(umskt src/main.cpp src/cli.cpp ${UMSKT_EXE_WINDOWS_EXTRA})
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(umskt PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||||
|
TARGET_LINK_LIBRARIES(umskt _umskt OpenSSL::Crypto fmt nlohmann_json::nlohmann_json umskt::rc ${UMSKT_LINK_LIBS})
|
||||||
|
TARGET_LINK_DIRECTORIES(umskt PUBLIC ${UMSKT_LINK_DIRS})
|
||||||
|
IF(MSVC AND MSVC_MSDOS_STUB)
|
||||||
|
SET_PROPERTY(TARGET umskt APPEND PROPERTY LINK_FLAGS /STUB:${MSVC_MSDOS_STUB})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
target_include_directories(umskt PUBLIC ${OPENSSL_INCLUDE_DIR})
|
### Copy Shared Libraries and dependency files
|
||||||
target_link_libraries(umskt PRIVATE _umskt OpenSSL::Crypto fmt nlohmann_json::nlohmann_json umskt::rc)
|
IF (OPENSSL_CRYPTO_SHARED)
|
||||||
|
GET_FILENAME_COMPONENT(OPENSSL_CRYPTO_LIBRARY_FILENAME ${OPENSSL_CRYPTO_LIBRARY} NAME)
|
||||||
|
CONFIGURE_FILE(${OPENSSL_CRYPTO_LIBRARY} "${CMAKE_CURRENT_BINARY_DIR}/${OPENSSL_CRYPTO_LIBRARY_FILENAME}" COPYONLY)
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
@ -56,13 +56,9 @@ In light of the recent exponential interest in this project I've decided to put
|
|||||||
|
|
||||||
* **Note:** Before continuing, please ensure you have the `umskt` executable extracted and on UNIX-like systems, have execution permissions (`chmod +x umskt`).
|
* **Note:** Before continuing, please ensure you have the `umskt` executable extracted and on UNIX-like systems, have execution permissions (`chmod +x umskt`).
|
||||||
|
|
||||||
#### 2. Install OpenSSL 3.1.2.
|
#### 2. Run `umskt` to generate a key, or add `--help` or `-h` to see more options.
|
||||||
For Windows, click [here](https://slproweb.com/products/Win32OpenSSL.html) and choose the right version. For other operating systems, consult your package manager.
|
|
||||||
*Note: This only applies if the build you download has OpenSSL embedded (static library) or not. You can usually tell if the download size is measured in KB or MB. If it's MB, you don't need this.*
|
|
||||||
|
|
||||||
#### 3. Run `umskt` to generate a key, or add `--help` or `-h` to see more options.
|
#### 3. *(Activation step for `Retail` and `OEM` only)*
|
||||||
|
|
||||||
#### 4. *(Activation step for `Retail` and `OEM` only)*
|
|
||||||
* After installation, you will be prompted to activate Windows.
|
* After installation, you will be prompted to activate Windows.
|
||||||
|
|
||||||
|
|
||||||
|
@ -220,12 +220,6 @@ int CLI::validateCommandLine(Options* options, char *argv[], json *keys) {
|
|||||||
int intBinkID;
|
int intBinkID;
|
||||||
sscanf(options->binkid.c_str(), "%x", &intBinkID);
|
sscanf(options->binkid.c_str(), "%x", &intBinkID);
|
||||||
|
|
||||||
// FE and FF are BINK 1998, but do not generate valid keys, so we throw an error
|
|
||||||
if (intBinkID >= 0xFE) {
|
|
||||||
fmt::print("ERROR: Terminal Services BINKs (FE and FF) are unsupported at this time\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (intBinkID >= 0x40) {
|
if (intBinkID >= 0x40) {
|
||||||
// set bink2002 validate mode if in bink1998 validate mode, else set bink2002 generate mode
|
// set bink2002 validate mode if in bink1998 validate mode, else set bink2002 generate mode
|
||||||
options->applicationMode = (options->applicationMode == MODE_BINK1998_VALIDATE) ? MODE_BINK2002_VALIDATE : MODE_BINK2002_GENERATE;
|
options->applicationMode = (options->applicationMode == MODE_BINK1998_VALIDATE) ? MODE_BINK2002_VALIDATE : MODE_BINK2002_GENERATE;
|
||||||
|
Reference in New Issue
Block a user