Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openj9
Path: blob/master/runtime/gc_glue_java/CMakeLists.txt
5990 views
1
################################################################################
2
# Copyright (c) 2017, 2020 IBM Corp. and others
3
#
4
# This program and the accompanying materials are made available under
5
# the terms of the Eclipse Public License 2.0 which accompanies this
6
# distribution and is available at https://www.eclipse.org/legal/epl-2.0/
7
# or the Apache License, Version 2.0 which accompanies this distribution and
8
# is available at https://www.apache.org/licenses/LICENSE-2.0.
9
#
10
# This Source Code may also be made available under the following
11
# Secondary Licenses when the conditions for such availability set
12
# forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
13
# General Public License, version 2 with the GNU Classpath
14
# Exception [1] and GNU General Public License, version 2 with the
15
# OpenJDK Assembly Exception [2].
16
#
17
# [1] https://www.gnu.org/software/classpath/license.html
18
# [2] http://openjdk.java.net/legal/assembly-exception.html
19
#
20
# 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
21
################################################################################
22
23
set(j9vm_gc_glue_sources
24
${CMAKE_CURRENT_SOURCE_DIR}/ArrayletObjectModel.cpp
25
${CMAKE_CURRENT_SOURCE_DIR}/ArrayletObjectModelBase.cpp
26
${CMAKE_CURRENT_SOURCE_DIR}/CollectorLanguageInterfaceImpl.cpp
27
${CMAKE_CURRENT_SOURCE_DIR}/CompactDelegate.cpp
28
${CMAKE_CURRENT_SOURCE_DIR}/CompactSchemeFixupObject.cpp
29
${CMAKE_CURRENT_SOURCE_DIR}/CompactSchemeFixupRoots.cpp
30
${CMAKE_CURRENT_SOURCE_DIR}/ConcurrentMarkingDelegate.cpp
31
${CMAKE_CURRENT_SOURCE_DIR}/ConcurrentSafepointCallbackJava.cpp
32
${CMAKE_CURRENT_SOURCE_DIR}/EnvironmentDelegate.cpp
33
${CMAKE_CURRENT_SOURCE_DIR}/GlobalCollectorDelegate.cpp
34
${CMAKE_CURRENT_SOURCE_DIR}/JNICriticalRegion.cpp
35
${CMAKE_CURRENT_SOURCE_DIR}/MarkingDelegate.cpp
36
${CMAKE_CURRENT_SOURCE_DIR}/MarkingSchemeRootClearer.cpp
37
${CMAKE_CURRENT_SOURCE_DIR}/MarkingSchemeRootMarker.cpp
38
${CMAKE_CURRENT_SOURCE_DIR}/MetronomeDelegate.cpp
39
${CMAKE_CURRENT_SOURCE_DIR}/MixedObjectModel.cpp
40
${CMAKE_CURRENT_SOURCE_DIR}/ObjectModel.cpp
41
${CMAKE_CURRENT_SOURCE_DIR}/ObjectModelDelegate.cpp
42
${CMAKE_CURRENT_SOURCE_DIR}/ScavengerBackOutScanner.cpp
43
${CMAKE_CURRENT_SOURCE_DIR}/ScavengerDelegate.cpp
44
${CMAKE_CURRENT_SOURCE_DIR}/ScavengerRootClearer.cpp
45
${CMAKE_CURRENT_SOURCE_DIR}/ScavengerRootScanner.cpp
46
)
47
48
target_sources(j9vm_gc_glue
49
INTERFACE
50
${j9vm_gc_glue_sources}
51
)
52
53
target_link_libraries(j9vm_gc_glue
54
INTERFACE
55
j9vm_interface
56
j9vm_gc_includes
57
58
j9gcvlhgc
59
j9modronstandard
60
j9realtime
61
j9gcstats
62
j9util
63
)
64
65
target_include_directories(j9vm_gc_glue
66
INTERFACE
67
${j9vm_SOURCE_DIR}/gc_modron_standard
68
${j9vm_SOURCE_DIR}/gc_realtime
69
${j9vm_SOURCE_DIR}/gc_trace
70
${j9vm_SOURCE_DIR}/gc_vlhgc
71
)
72
73
if(OMR_MIXED_REFERENCES_MODE_STATIC)
74
target_sources(j9vm_gc_glue_full
75
INTERFACE
76
${j9vm_gc_glue_sources}
77
)
78
79
target_link_libraries(j9vm_gc_glue_full
80
INTERFACE
81
j9vm_interface
82
j9vm_gc_includes
83
84
j9modronstandard_full
85
j9gcvlhgc_full
86
j9realtime_full
87
j9gcstats_full
88
j9util
89
)
90
91
target_include_directories(j9vm_gc_glue_full
92
INTERFACE
93
${j9vm_SOURCE_DIR}/gc_modron_standard
94
${j9vm_SOURCE_DIR}/gc_realtime
95
${j9vm_SOURCE_DIR}/gc_trace
96
${j9vm_SOURCE_DIR}/gc_vlhgc
97
)
98
endif()
99
100
j9vm_add_library(j9vm_util_glue INTERFACE)
101
target_sources(j9vm_util_glue
102
INTERFACE
103
${CMAKE_CURRENT_SOURCE_DIR}/UtilGlue.c
104
)
105
target_link_libraries(j9vm_util_glue
106
INTERFACE
107
j9vm_interface
108
)
109
110
j9vm_add_library(j9vm_core_glue INTERFACE)
111
target_sources(j9vm_core_glue
112
INTERFACE
113
${CMAKE_CURRENT_SOURCE_DIR}/LanguageVMGlue.c
114
)
115
target_link_libraries(j9vm_core_glue
116
INTERFACE
117
j9vm_interface
118
j9vm_gc_includes
119
)
120
121
# Note: we dont actually need to add any glue for the vm or ras components
122
j9vm_add_library(j9vm_vm_glue INTERFACE)
123
j9vm_add_library(j9vm_ras_glue INTERFACE)
124
125