-
Notifications
You must be signed in to change notification settings - Fork 169
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GYP has been replaced with GN for Chromium. Migrate to CMake rather than GN as it is simpler. This allows building for Windows ARM64 as well.
- Loading branch information
Showing
1 changed file
with
103 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
|
||
cmake_minimum_required(VERSION 3.20) | ||
|
||
project(WinPTY | ||
VERSION 0.4.4 | ||
LANGUAGES CXX) | ||
|
||
# Output Locations | ||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) | ||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) | ||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) | ||
|
||
# Global Macros | ||
add_compile_definitions(UNICODE) | ||
add_compile_definitions(_UNICODE) | ||
add_compile_definitions(NOMINMAX) | ||
|
||
execute_process(COMMAND git rev-parse HEAD | ||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} | ||
OUTPUT_VARIABLE GIT_REVISION | ||
OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
if(NOT GIT_REVISION) | ||
set(GIT_REVISION none) | ||
endif() | ||
|
||
file(WRITE ${CMAKE_BINARY_DIR}/gen/GenVersion.h "// AUTO-GENERATED BY CMake | ||
const char GenVersion_Version[] = \"${PROJECT_VERSION}\"; | ||
const char GenVersion_Commit[] = \"${GIT_REVISION}\"; | ||
") | ||
|
||
include_directories(${CMAKE_BINARY_DIR}/gen) | ||
|
||
add_executable(winpty-agent | ||
agent/Agent.cc | ||
agent/AgentCreateDesktop.cc | ||
agent/ConsoleFont.cc | ||
agent/ConsoleInput.cc | ||
agent/ConsoleInputReencoding.cc | ||
agent/ConsoleLine.cc | ||
agent/DebugShowInput.cc | ||
agent/DefaultInputMap.cc | ||
agent/EventLoop.cc | ||
agent/InputMap.cc | ||
agent/LargeConsoleRead.cc | ||
agent/NamedPipe.cc | ||
agent/Scraper.cc | ||
agent/Terminal.cc | ||
agent/Win32Console.cc | ||
agent/Win32ConsoleBuffer.cc | ||
agent/main.cc | ||
shared/BackgroundDesktop.cc | ||
shared/Buffer.cc | ||
shared/DebugClient.cc | ||
shared/GenRandom.cc | ||
shared/OwnedHandle.cc | ||
shared/StringUtil.cc | ||
shared/WindowsSecurity.cc | ||
shared/WindowsVersion.cc | ||
shared/WinptyAssert.cc | ||
shared/WinptyException.cc | ||
shared/WinptyVersion.cc) | ||
target_compile_definitions(winpty-agent PRIVATE | ||
WINPTY_AGENT_ASSERT) | ||
target_include_directories(winpty-agent PRIVATE | ||
include) | ||
target_link_libraries(winpty-agent PRIVATE | ||
advapi32 | ||
shell32 | ||
user32) | ||
|
||
add_library(winpty SHARED | ||
libwinpty/AgentLocation.cc | ||
libwinpty/winpty.cc | ||
shared/BackgroundDesktop.cc | ||
shared/Buffer.cc | ||
shared/DebugClient.cc | ||
shared/GenRandom.cc | ||
shared/OwnedHandle.cc | ||
shared/StringUtil.cc | ||
shared/WindowsSecurity.cc | ||
shared/WindowsVersion.cc | ||
shared/WinptyAssert.cc | ||
shared/WinptyException.cc | ||
shared/WinptyVersion.cc) | ||
target_include_directories(winpty PRIVATE | ||
include) | ||
target_compile_definitions(winpty PRIVATE | ||
COMPILING_WINPTY_DLL) | ||
target_link_libraries(winpty PRIVATE | ||
advapi32 | ||
user32) | ||
|
||
add_executable(winpty-debugserver | ||
debugserver/DebugServer.cc | ||
shared/DebugClient.cc | ||
shared/OwnedHandle.cc | ||
shared/StringUtil.cc | ||
shared/WindowsSecurity.cc | ||
shared/WindowsVersion.cc | ||
shared/WinptyAssert.cc | ||
shared/WinptyException.cc) | ||
target_link_libraries(winpty-debugserver PRIVATE | ||
advapi32) |