include(${CLR_DIR}/crossgen.cmake) set(VM_CROSSGEN_SOURCES ../class.cpp ../appdomain.cpp ../array.cpp ../assembly.cpp ../assemblyspec.cpp ../binder.cpp ../ceeload.cpp ../ceemain.cpp ../classhash.cpp ../clrex.cpp ../clrprivbinderutil.cpp ../clsload.cpp ../comdelegate.cpp ../codeman.cpp ../compile.cpp ../custommarshalerinfo.cpp ../domainfile.cpp ../baseassemblyspec.cpp ../corebindresult.cpp ../coreassemblyspec.cpp ../dataimage.cpp ../decodemd.cpp ../debuginfostore.cpp ../ecall.cpp ../eeconfig.cpp ../eehash.cpp ../eetwain.cpp ../excep.cpp ../field.cpp ../fieldmarshaler.cpp ../formattype.cpp ../genericdict.cpp ../generics.cpp ../genmeth.cpp ../hash.cpp ../ilinstrumentation.cpp ../ilmarshalers.cpp ../ilstubcache.cpp ../ilstubresolver.cpp ../instmethhash.cpp ../interoputil.cpp ../invokeutil.cpp ../inlinetracking.cpp ../contractimpl.cpp ../jitinterface.cpp ../loaderallocator.cpp ../memberload.cpp ../method.cpp ../methodimpl.cpp ../methodtable.cpp ../methodtablebuilder.cpp ../mscorlib.cpp ../stubcache.cpp ../mlinfo.cpp ../dllimport.cpp ../dllimportcallback.cpp ../pefile.cpp ../peimage.cpp ../peimagelayout.cpp ../pendingload.cpp ../precode.cpp ../olevariant.cpp ../siginfo.cpp ../sigformat.cpp ../simplerwlock.cpp ../spinlock.cpp ../stackingallocator.cpp ../stubgen.cpp ../stublink.cpp ../typectxt.cpp ../typedesc.cpp ../typehandle.cpp ../typehash.cpp ../typeparse.cpp ../typestring.cpp ../util.cpp ../vars.cpp ../versionresilienthashcode.cpp ../zapsig.cpp ../gcinfodecoder.cpp ../sha1.cpp ../crossgencompile.cpp ) if(FEATURE_READYTORUN) list(APPEND VM_CROSSGEN_SOURCES ../readytoruninfo.cpp ) endif(FEATURE_READYTORUN) include_directories(BEFORE ..) include_directories(${CLR_DIR}/src/gc) include_directories(../${ARCH_SOURCES_DIR}) if(CLR_CMAKE_TARGET_ARCH_AMD64) list(APPEND VM_CROSSGEN_SOURCES ../${ARCH_SOURCES_DIR}/stublinkeramd64.cpp ) elseif(CLR_CMAKE_TARGET_ARCH_I386) list(APPEND VM_CROSSGEN_SOURCES ../${ARCH_SOURCES_DIR}/stublinkerx86.cpp ../gcdecode.cpp ) elseif(CLR_CMAKE_TARGET_ARCH_ARM) list(APPEND VM_CROSSGEN_SOURCES ../${ARCH_SOURCES_DIR}/stubs.cpp ) elseif(CLR_CMAKE_TARGET_ARCH_ARM64) list(APPEND VM_CROSSGEN_SOURCES ../${ARCH_SOURCES_DIR}/stubs.cpp ) else() clr_unknown_arch() endif() if (WIN32) list(APPEND VM_CROSSGEN_SOURCES ../classcompat.cpp ../clrprivbinderwinrt.cpp ../clrprivtypecachewinrt.cpp ../comtoclrcall.cpp ../clrtocomcall.cpp ../crossgenroparsetypename.cpp ../crossgenroresolvenamespace.cpp ../runtimecallablewrapper.cpp ../winrthelpers.cpp ../winrttypenameconverter.cpp ) add_precompiled_header(common.h ../common.cpp VM_CROSSGEN_SOURCES) # mscorlib.cpp does not compile with precompiled header file set_source_files_properties(../mscorlib.cpp PROPERTIES COMPILE_FLAGS "/Y-") endif (WIN32) if (CLR_CMAKE_PLATFORM_LINUX) list(APPEND VM_CROSSGEN_SOURCES ../perfmap.cpp ../perfinfo.cpp ) endif (CLR_CMAKE_PLATFORM_LINUX) add_library_clr(cee_crossgen ${VM_CROSSGEN_SOURCES})