mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 23:39:07 +07:00
IDEA-296416 WinLauncher: build for ARM64
GitOrigin-RevId: 2bc5fe7e914f4ada7066526806d5d248a9157977
This commit is contained in:
committed by
intellij-monorepo-bot
parent
91ed84cc5b
commit
c63397a8ab
@@ -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%")
|
||||
|
||||
Reference in New Issue
Block a user