diff options
author | Sean Gillespie <sean.william.g@gmail.com> | 2016-06-22 23:40:41 -0700 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2016-06-23 08:40:41 +0200 |
commit | 0dbc3f62bd3ce5184cc27884e3239e3deae3cc9a (patch) | |
tree | 82b0a5d2d8eca7bda486aff6a50e4964383a4101 /src/gc | |
parent | 63796e5a7ae5076ceb310a2dca89e94e09b5e5f2 (diff) | |
download | coreclr-0dbc3f62bd3ce5184cc27884e3239e3deae3cc9a.tar.gz coreclr-0dbc3f62bd3ce5184cc27884e3239e3deae3cc9a.tar.bz2 coreclr-0dbc3f62bd3ce5184cc27884e3239e3deae3cc9a.zip |
Build the GC as part of its own CMake target (#5932)
Diffstat (limited to 'src/gc')
-rw-r--r-- | src/gc/CMakeLists.txt | 46 | ||||
-rw-r--r-- | src/gc/dac/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/gc/env/common.h | 4 | ||||
-rw-r--r-- | src/gc/wks/CMakeLists.txt | 1 |
4 files changed, 51 insertions, 2 deletions
diff --git a/src/gc/CMakeLists.txt b/src/gc/CMakeLists.txt index 71dd46fee8..61e1ced727 100644 --- a/src/gc/CMakeLists.txt +++ b/src/gc/CMakeLists.txt @@ -1 +1,45 @@ -add_subdirectory(sample) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}) +include_directories(BEFORE ${CLR_DIR}/src/vm) +include_directories(BEFORE ${CLR_DIR}/src/vm/${ARCH_SOURCES_DIR}) + +if(CLR_CMAKE_PLATFORM_UNIX) + add_compile_options(-fPIC) +endif(CLR_CMAKE_PLATFORM_UNIX) + +if(CMAKE_CONFIGURATION_TYPES) + foreach (Config DEBUG CHECKED) + set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:${Config}>:WRITE_BARRIER_CHECK=1>) + endforeach (Config) +else() + if(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED) + add_definitions(-DWRITE_BARRIER_CHECK=1) + endif(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG OR UPPERCASE_CMAKE_BUILD_TYPE STREQUAL CHECKED) +endif(CMAKE_CONFIGURATION_TYPES) + +set( GC_SOURCES_DAC_AND_WKS_COMMON + gccommon.cpp + gcscan.cpp + gcsvr.cpp + gcwks.cpp + handletable.cpp + handletablecore.cpp + handletablescan.cpp + objecthandle.cpp + softwarewritewatch.cpp) + +set( GC_SOURCES_WKS + ${GC_SOURCES_DAC_AND_WKS_COMMON} + gceesvr.cpp + gceewks.cpp + handletablecache.cpp) + +set( GC_SOURCES_DAC + ${GC_SOURCES_DAC_AND_WKS_COMMON}) + +convert_to_absolute_path(GC_SOURCES_WKS ${GC_SOURCES_WKS}) +convert_to_absolute_path(GC_SOURCES_DAC ${GC_SOURCES_DAC}) + +add_subdirectory(wks) +add_subdirectory(dac) diff --git a/src/gc/dac/CMakeLists.txt b/src/gc/dac/CMakeLists.txt new file mode 100644 index 0000000000..1f1c9ebe5c --- /dev/null +++ b/src/gc/dac/CMakeLists.txt @@ -0,0 +1,2 @@ +include(${CLR_DIR}/dac.cmake) +add_library_clr(gc_dac STATIC ${GC_SOURCES_DAC}) diff --git a/src/gc/env/common.h b/src/gc/env/common.h index 759d57b687..32c0d93577 100644 --- a/src/gc/env/common.h +++ b/src/gc/env/common.h @@ -9,7 +9,9 @@ #pragma once -#define _CRT_SECURE_NO_WARNINGS +#ifndef _CRT_SECURE_NO_WARNINGS + #define _CRT_SECURE_NO_WARNINGS +#endif // _CRT_SECURE_NO_WARNINGS #include <stdint.h> #include <stddef.h> diff --git a/src/gc/wks/CMakeLists.txt b/src/gc/wks/CMakeLists.txt new file mode 100644 index 0000000000..fcb95a385e --- /dev/null +++ b/src/gc/wks/CMakeLists.txt @@ -0,0 +1 @@ +add_library_clr(gc_wks STATIC ${GC_SOURCES_WKS}) |