1 cmake_minimum_required(VERSION 3.1)
3 include(CheckSymbolExists)
6 message(FATAL_ERROR "Windows only.")
9 if (DEFINED ENV{BUILD_NUMBER})
10 set(BUILD_NUMBER $ENV{BUILD_NUMBER})
12 set(BUILD_NUMBER 9999)
15 string(TIMESTAMP YEAR "%Y")
17 check_symbol_exists("_M_AMD64" "" TARGET_X64)
19 set(FILE_NAME "IdeaWin64")
20 set(JAVA_HOME $ENV{JDK_18_x64})
22 set(FILE_NAME "IdeaWin32")
23 set(JAVA_HOME $ENV{JDK_18})
26 message(FATAL_ERROR "JDK_18/JDK_18_x64 variables not defined (x64=${TARGET_X64}).")
29 set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
30 include_directories(${JAVA_HOME}/include ${JAVA_HOME}/include/win32)
32 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/IdeaWin32.rc ${CMAKE_CURRENT_BINARY_DIR}/IdeaWin32.rc @ONLY)
34 add_library(IdeaWin32 SHARED IdeaWin32.c IdeaWin32.h ${CMAKE_CURRENT_BINARY_DIR}/IdeaWin32.rc)
36 set_target_properties(IdeaWin32 PROPERTIES OUTPUT_NAME ${FILE_NAME})