summaryrefslogtreecommitdiff
path: root/src/jit/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/CMakeLists.txt')
-rw-r--r--src/jit/CMakeLists.txt119
1 files changed, 119 insertions, 0 deletions
diff --git a/src/jit/CMakeLists.txt b/src/jit/CMakeLists.txt
new file mode 100644
index 0000000000..dce4f59c3a
--- /dev/null
+++ b/src/jit/CMakeLists.txt
@@ -0,0 +1,119 @@
+project(ClrJit)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+include_directories("./jitstd")
+include_directories("../inc")
+
+# Enable the following for UNIX altjit on Windows
+# add_definitions(-DALT_JIT)
+
+set( SOURCES
+ alloc.cpp
+ bitset.cpp
+ block.cpp
+ compiler.cpp
+ disasm.cpp
+ eeinterface.cpp
+ ee_il_dll.cpp
+ jiteh.cpp
+ error.cpp
+ flowgraph.cpp
+ gcinfo.cpp
+ gcdecode.cpp
+ gcencode.cpp
+ gentree.cpp
+ gschecks.cpp
+ hashbv.cpp
+ importer.cpp
+ instr.cpp
+ lclvars.cpp
+ liveness.cpp
+ morph.cpp
+ optimizer.cpp
+ optcse.cpp
+ rationalize.cpp
+ regalloc.cpp
+ regset.cpp
+ register_arg_convention.cpp
+ emit.cpp
+ scopeinfo.cpp
+ sharedfloat.cpp
+ sm.cpp
+ smdata.cpp
+ smweights.cpp
+ typeinfo.cpp
+ unwind.cpp
+ utils.cpp
+ ssabuilder.cpp
+ ssarenamestate.cpp
+ valuenum.cpp
+ copyprop.cpp
+ codegencommon.cpp
+ assertionprop.cpp
+ rangecheck.cpp
+ loopcloning.cpp
+ lower.cpp
+ lsra.cpp
+ emitxarch.cpp
+ targetamd64.cpp
+ lowerxarch.cpp
+ codegenxarch.cpp
+ simd.cpp
+ simdcodegenxarch.cpp
+ unwindamd64.cpp
+)
+
+if( WIN32 )
+ # Create .def file containing a list of exports preceeded by
+ # 'EXPORTS'. The file "ClrJit.exports" already contains the list, so we
+ # massage it into the correct format here to create "ClrJit.exports.def".
+ set(CLRJIT_EXPORTS_DEF ${CMAKE_CURRENT_BINARY_DIR}/ClrJit.exports.def)
+ set(CLRJIT_EXPORTS_DEF_TEMP ${CLRJIT_EXPORTS_DEF}.txt)
+ file(READ "ClrJit.exports" exports_list)
+ file(WRITE ${CLRJIT_EXPORTS_DEF_TEMP} "LIBRARY CLRJIT\n")
+ file(APPEND ${CLRJIT_EXPORTS_DEF_TEMP} "EXPORTS\n")
+ file(APPEND ${CLRJIT_EXPORTS_DEF_TEMP} ${exports_list})
+
+ # Copy the file only if it has changed.
+ execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${CLRJIT_EXPORTS_DEF_TEMP} ${CLRJIT_EXPORTS_DEF})
+
+ set(SHARED_LIB_SOURCES ${SOURCES} ${CLRJIT_EXPORTS_DEF})
+else()
+ set(SHARED_LIB_SOURCES ${SOURCES})
+endif()
+
+set(CLR_EXPORTED_SYMBOL_FILE ${CLRJIT_EXPORTS_DEF})
+
+# Disable the following for UNIX altjit on Windows
+if(CLR_CMAKE_PLATFORM_UNIX)
+ add_compile_options(-Wno-trigraphs)
+ add_compile_options(-fPIC)
+ add_definitions(-DFEATURE_MERGE_JIT_AND_ENGINE)
+
+ add_library(ClrJit
+ STATIC
+ ${SHARED_LIB_SOURCES}
+ )
+ add_dependencies(ClrJit CoreClrPal gcinfo)
+else(CLR_CMAKE_PLATFORM_UNIX)
+ add_library(ClrJit
+ ${SOURCES}
+ )
+# Disable up to here (see above) the following for UNIX altjit on Windows
+# Enable the following for UNIX altjit on Windows
+# add_library(ClrJit
+# SHARED
+# ${SHARED_LIB_SOURCES}
+# )
+
+# Enable the following for UNIX altjit on Windows
+#target_link_libraries(ClrJit
+# utilcode
+# gcinfo
+# runtime_library
+# )
+
+# Disable the following for UNIX altjit on Windows
+endif(CLR_CMAKE_PLATFORM_UNIX)