-
Notifications
You must be signed in to change notification settings - Fork 752
/
Copy pathCMakeLists.txt
47 lines (40 loc) · 2.15 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
################################################################################
# Copyright (c) 2017, 2022 IBM Corp. and others
#
# This program and the accompanying materials are made available under
# the terms of the Eclipse Public License 2.0 which accompanies this
# distribution and is available at https://www.eclipse.org/legal/epl-2.0/
# or the Apache License, Version 2.0 which accompanies this distribution and
# is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# This Source Code may also be made available under the following
# Secondary Licenses when the conditions for such availability set
# forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
# General Public License, version 2 with the GNU Classpath
# Exception [1] and GNU General Public License, version 2 with the
# OpenJDK Assembly Exception [2].
#
# [1] https://www.gnu.org/software/classpath/license.html
# [2] http://openjdk.java.net/legal/assembly-exception.html
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
################################################################################
# set JAVA_HOME to guide FindJava
set(JAVA_HOME ${BOOT_JDK})
include(UseJava)
project(j9_sourcetools VERSION 1.0)
set(CMAKE_JAVA_TARGET_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
# Due to the way cmake generates the java class path, it will generate a leading path separator.
# This prevents fixpath from JDKs after JDK11 from properly translating the path.
# To work around the issue we tack on a dummy path at the beginning of the output classpath.
if((WIN32 AND NOT CMAKE_HOST_WIN32) AND (JAVA_SPEC_VERSION GREATER 11))
set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_CURRENT_SOURCE_DIR}")
endif()
# TODO this needs to be named and handled better
set(SPEC_LEVEL 7 CACHE STRING "")
set(CMAKE_JAVA_COMPILE_FLAGS -nowarn -source ${SPEC_LEVEL} -target ${SPEC_LEVEL})
# Note add_jar isn't as good at tracking target dependencies as regular cmake.
# In particular it will not let you link against a target which will be defined later.
add_subdirectory(objectmodel)
add_subdirectory(j9constantpool)
add_subdirectory(j9nls)