|
|
@@ -15,7 +15,7 @@ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are |
|
|
|
set(CMAKE_CONFIGURATION_TYPES Debug RelWithDebInfo Release CACHE TYPE INTERNAL) |
|
|
|
set(ARCH native CACHE STRING "CPU to build for: -march value or default") |
|
|
|
|
|
|
|
project(turtlecoin-crypto) |
|
|
|
project(fedoragold-crypto) |
|
|
|
|
|
|
|
# Required for finding Threads on ARM |
|
|
|
enable_language(C) |
|
|
@@ -222,18 +222,18 @@ include_directories(external/ed25519) |
|
|
|
add_library(crypto STATIC ${BASE_CRYPTO}) |
|
|
|
|
|
|
|
set(SOURCES |
|
|
|
src/turtlecoin-crypto.cpp |
|
|
|
src/fedoragold-crypto.cpp |
|
|
|
) |
|
|
|
|
|
|
|
add_library(turtlecoin-crypto-static STATIC ${SOURCES}) |
|
|
|
target_link_libraries(turtlecoin-crypto-static crypto argon2 ed25519) |
|
|
|
add_library(fedoragold-crypto-static STATIC ${SOURCES}) |
|
|
|
target_link_libraries(fedoragold-crypto-static crypto argon2 ed25519) |
|
|
|
|
|
|
|
if(NOT BUILD_JS AND NOT BUILD_WASM) |
|
|
|
if(WIN32) |
|
|
|
add_library(turtlecoin-crypto-shared SHARED ${SOURCES}) |
|
|
|
target_link_libraries(turtlecoin-crypto-shared crypto argon2 ed25519) |
|
|
|
target_link_libraries(turtlecoin-crypto-static ws2_32 advapi32 crypt32 gdi32 user32) |
|
|
|
target_link_libraries(turtlecoin-crypto-shared ws2_32 advapi32 crypt32 gdi32 user32) |
|
|
|
add_library(fedoragold-crypto-shared SHARED ${SOURCES}) |
|
|
|
target_link_libraries(fedoragold-crypto-shared crypto argon2 ed25519) |
|
|
|
target_link_libraries(fedoragold-crypto-static ws2_32 advapi32 crypt32 gdi32 user32) |
|
|
|
target_link_libraries(fedoragold-crypto-shared ws2_32 advapi32 crypt32 gdi32 user32) |
|
|
|
endif() |
|
|
|
|
|
|
|
set(CRYPTOTEST_SOURCES |
|
|
@@ -241,15 +241,15 @@ if(NOT BUILD_JS AND NOT BUILD_WASM) |
|
|
|
) |
|
|
|
|
|
|
|
add_executable(cryptotest ${CRYPTOTEST_SOURCES}) |
|
|
|
target_link_libraries(cryptotest turtlecoin-crypto-static) |
|
|
|
target_link_libraries(cryptotest fedoragold-crypto-static) |
|
|
|
set_property(TARGET cryptotest PROPERTY OUTPUT_NAME "cryptotest") |
|
|
|
else() |
|
|
|
set(JAVSCRIPT_SOURCES |
|
|
|
src/turtlecoin-crypto-js.cpp |
|
|
|
src/fedoragold-crypto-js.cpp |
|
|
|
) |
|
|
|
|
|
|
|
add_executable(turtlecoin-crypto ${JAVSCRIPT_SOURCES}) |
|
|
|
target_link_libraries(turtlecoin-crypto turtlecoin-crypto-static) |
|
|
|
add_executable(fedoragold-crypto ${JAVSCRIPT_SOURCES}) |
|
|
|
target_link_libraries(fedoragold-crypto fedoragold-crypto-static) |
|
|
|
|
|
|
|
# Override our release flags for emscripten compatibility |
|
|
|
set(CMAKE_C_FLAGS_DEBUG "") |
|
|
@@ -274,13 +274,13 @@ else() |
|
|
|
set(CMAKE_EXECUTABLE_SUFFIX ".js") |
|
|
|
set(JS_LINKFLAGS_STR "${JS_LINKFLAGS_STR} -s WASM=0 --js-opts 1") |
|
|
|
message(STATUS "emcc flags: ${JS_LINKFLAGS_STR}") |
|
|
|
set_target_properties(turtlecoin-crypto PROPERTIES LINK_FLAGS "${JS_LINKFLAGS_STR}") |
|
|
|
set_target_properties(fedoragold-crypto PROPERTIES LINK_FLAGS "${JS_LINKFLAGS_STR}") |
|
|
|
endif() |
|
|
|
|
|
|
|
if(BUILD_WASM) |
|
|
|
set(CMAKE_EXECUTABLE_SUFFIX "-wasm.js") |
|
|
|
set(JS_LINKFLAGS_STR "${JS_LINKFLAGS_STR} -s WASM=1 -s BINARYEN_METHOD='native-wasm'") |
|
|
|
message(STATUS "emcc flags: ${JS_LINKFLAGS_STR}") |
|
|
|
set_target_properties(turtlecoin-crypto PROPERTIES LINK_FLAGS "${JS_LINKFLAGS_STR} -s WASM=1 -s BINARYEN_METHOD='native-wasm'") |
|
|
|
set_target_properties(fedoragold-crypto PROPERTIES LINK_FLAGS "${JS_LINKFLAGS_STR} -s WASM=1 -s BINARYEN_METHOD='native-wasm'") |
|
|
|
endif() |
|
|
|
endif() |