IDEA-296416 WinLauncher: build for ARM64

GitOrigin-RevId: 2bc5fe7e914f4ada7066526806d5d248a9157977
This commit is contained in:
Vladislav Rassokhin
2022-09-06 15:12:39 +02:00
committed by intellij-monorepo-bot
parent 91ed84cc5b
commit c63397a8ab

View File

@@ -1,5 +1,6 @@
cmake_minimum_required(VERSION 3.15)
project(WinLauncher CXX)
include(CheckSymbolExists)
if (NOT WIN32)
message(FATAL_ERROR "Windows only.")
@@ -13,11 +14,19 @@ endif ()
string(TIMESTAMP YEAR "%Y")
set(JAVA_HOME $ENV{JDK_11_x64})
if (NOT JAVA_HOME)
message(FATAL_ERROR "JDK_11_x64 variable not defined.")
endif ()
check_symbol_exists("_M_ARM64" "" TARGET_ARM64)
check_symbol_exists("_M_AMD64" "" TARGET_X64)
if(TARGET_ARM64)
set(JAVA_HOME $ENV{JDK_11_0_ARM64})
elseif(TARGET_X64)
set(JAVA_HOME $ENV{JDK_11_0_x64})
else()
set(JAVA_HOME $ENV{JDK_11_0})
endif()
if(NOT JAVA_HOME)
message(FATAL_ERROR "JDK_11_0/JDK_11_0_x64/JDK_11_0_ARM64 variables not defined (x64=${TARGET_X64}, arm64=${TARGET_ARM64}).")
endif()
set(FILE_NAME "WinLauncher")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/WinLauncher.rc ${CMAKE_CURRENT_BINARY_DIR}/WinLauncher.rc @ONLY)
add_executable(WinLauncher WIN32 WinLauncher.cpp WinLauncher.manifest ${CMAKE_CURRENT_BINARY_DIR}/WinLauncher.rc)
@@ -29,4 +38,4 @@ set_target_properties(WinLauncher PROPERTIES
target_compile_definitions(WinLauncher PRIVATE UNICODE _UNICODE)
target_include_directories(WinLauncher PRIVATE ${JAVA_HOME}/include ${JAVA_HOME}/include/win32 ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_options(WinLauncher PRIVATE /W3 /Zi /Oi /Gy /GL)
target_link_options(WinLauncher PRIVATE /INCREMENTAL:NO /DEBUG /LTCG /OPT:REF /OPT:ICF)
target_link_options(WinLauncher PRIVATE /INCREMENTAL:NO /DEBUG /LTCG /OPT:REF /OPT:ICF "/pdbaltpath:%_PDB%")