diff options
Diffstat (limited to 'src/ildasm/exe/CMakeLists.txt')
-rw-r--r-- | src/ildasm/exe/CMakeLists.txt | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/src/ildasm/exe/CMakeLists.txt b/src/ildasm/exe/CMakeLists.txt new file mode 100644 index 0000000000..87cdd230f9 --- /dev/null +++ b/src/ildasm/exe/CMakeLists.txt @@ -0,0 +1,76 @@ +project(ildasm) + +add_definitions(-DUNICODE) +add_definitions(-D_UNICODE) +add_definitions(-D_FEATURE_NO_HOST) +add_definitions(-D__ILDASM__) + +add_definitions(-DFEATURE_CORECLR) + +include_directories(..) + +if(CLR_CMAKE_PLATFORM_UNIX) + add_compile_options(-fPIE) + include_directories(../unixcoreclrloader) + build_resources(${CMAKE_CURRENT_SOURCE_DIR}/../dasm.rc dasm_rc TARGET_CPP_FILE) + + set(ILDASM_RESOURCES + ${TARGET_CPP_FILE} + ) +else() + set(ILDASM_RESOURCES ../dasm.rc) + add_definitions(-DFX_VER_INTERNALNAME_STR=ildasm.exe) +endif(CLR_CMAKE_PLATFORM_UNIX) + +set(ILDASM_SOURCES + ../ceeload.cpp + ../dasm.cpp + ../dasm_formattype.cpp + ../dasm_mi.cpp + ../dasm_pr.cpp + ../dasm_sz.cpp + ../dis.cpp + ../dman.cpp + ../dres.cpp + ../gui.cpp + ../ildasmpch.cpp + ../windasm.cpp +) + +_add_executable(ildasm + ${ILDASM_SOURCES} + ${ILDASM_RESOURCES} +) + +set(ILDASM_LINK_LIBRARIES + utilcodestaticnohost + mdhotdata_full + corguids +) + +if(CLR_CMAKE_PLATFORM_UNIX) + target_link_libraries(ildasm + ${ILDASM_LINK_LIBRARIES} + unixcoreclrloader + mscorrc_debug + coreclrpal + palrt + ) + + # FreeBSD and NetBSD implement dlopen(3) in libc + if(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) + target_link_libraries(ildasm + dl + ) + endif(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) +else() + target_link_libraries(ildasm + ${ILDASM_LINK_LIBRARIES} + coreclr + ole32 + oleaut32 + shell32 + ) +endif(CLR_CMAKE_PLATFORM_UNIX) + +install_clr(ildasm)
\ No newline at end of file |