2018-09-24 11:57:30 +00:00
|
|
|
if (WITH_ASM AND NOT XMRIG_ARM AND CMAKE_SIZEOF_VOID_P EQUAL 8)
|
2018-09-23 17:16:33 +00:00
|
|
|
set(XMRIG_ASM_LIBRARY "xmrig-asm")
|
|
|
|
|
2018-09-24 17:43:31 +00:00
|
|
|
if (CMAKE_C_COMPILER_ID MATCHES MSVC)
|
2018-09-23 17:16:33 +00:00
|
|
|
enable_language(ASM_MASM)
|
2018-10-02 14:50:19 +00:00
|
|
|
|
|
|
|
if (MSVC_TOOLSET_VERSION GREATER_EQUAL 141)
|
2019-02-19 02:15:06 +00:00
|
|
|
set(XMRIG_ASM_FILES
|
2019-06-04 12:20:33 +00:00
|
|
|
"src/crypto/cn/asm/cn_main_loop.asm"
|
|
|
|
"src/crypto/cn/asm/CryptonightR_template.asm"
|
2019-02-10 14:21:17 +00:00
|
|
|
)
|
2018-10-02 14:50:19 +00:00
|
|
|
else()
|
2019-02-19 02:15:06 +00:00
|
|
|
set(XMRIG_ASM_FILES
|
2019-06-04 12:20:33 +00:00
|
|
|
"src/crypto/cn/asm/win64/cn_main_loop.asm"
|
|
|
|
"src/crypto/cn/asm/win64/CryptonightR_template.asm"
|
2019-02-10 14:21:17 +00:00
|
|
|
)
|
2018-10-02 14:50:19 +00:00
|
|
|
endif()
|
|
|
|
|
2019-02-19 02:15:06 +00:00
|
|
|
set_property(SOURCE ${XMRIG_ASM_FILES} PROPERTY ASM_MASM)
|
2018-09-23 17:16:33 +00:00
|
|
|
else()
|
|
|
|
enable_language(ASM)
|
2018-09-24 17:43:31 +00:00
|
|
|
|
|
|
|
if (WIN32 AND CMAKE_C_COMPILER_ID MATCHES GNU)
|
2019-02-19 02:15:06 +00:00
|
|
|
set(XMRIG_ASM_FILES
|
2019-06-04 12:20:33 +00:00
|
|
|
"src/crypto/cn/asm/win64/cn_main_loop.S"
|
|
|
|
"src/crypto/cn/asm/CryptonightR_template.S"
|
2019-02-10 14:21:17 +00:00
|
|
|
)
|
2018-09-24 17:43:31 +00:00
|
|
|
else()
|
2019-02-19 02:15:06 +00:00
|
|
|
set(XMRIG_ASM_FILES
|
2019-06-04 12:20:33 +00:00
|
|
|
"src/crypto/cn/asm/cn_main_loop.S"
|
|
|
|
"src/crypto/cn/asm/CryptonightR_template.S"
|
2019-02-10 14:21:17 +00:00
|
|
|
)
|
2018-09-24 17:43:31 +00:00
|
|
|
endif()
|
|
|
|
|
2019-02-19 02:15:06 +00:00
|
|
|
set_property(SOURCE ${XMRIG_ASM_FILES} PROPERTY C)
|
2018-09-23 17:16:33 +00:00
|
|
|
endif()
|
|
|
|
|
2019-02-19 02:15:06 +00:00
|
|
|
add_library(${XMRIG_ASM_LIBRARY} STATIC ${XMRIG_ASM_FILES})
|
2019-06-28 06:08:08 +00:00
|
|
|
set(XMRIG_ASM_SOURCES
|
|
|
|
src/crypto/common/Assembly.h
|
|
|
|
src/crypto/common/Assembly.cpp
|
|
|
|
src/crypto/cn/r/CryptonightR_gen.cpp
|
|
|
|
)
|
2018-09-23 17:16:33 +00:00
|
|
|
set_property(TARGET ${XMRIG_ASM_LIBRARY} PROPERTY LINKER_LANGUAGE C)
|
2019-06-13 15:08:52 +00:00
|
|
|
|
|
|
|
add_definitions(/DXMRIG_FEATURE_ASM)
|
2018-09-23 17:16:33 +00:00
|
|
|
else()
|
2018-09-24 11:19:26 +00:00
|
|
|
set(XMRIG_ASM_SOURCES "")
|
2018-09-23 17:16:33 +00:00
|
|
|
set(XMRIG_ASM_LIBRARY "")
|
2019-06-13 15:08:52 +00:00
|
|
|
|
|
|
|
remove_definitions(/DXMRIG_FEATURE_ASM)
|
2018-09-23 17:16:33 +00:00
|
|
|
endif()
|