From 4e82e7f272e8a40ee96b68f7ed55030ffde4137e Mon Sep 17 00:00:00 2001 From: Eric Lombrozo Date: Sun, 16 Feb 2014 06:48:34 -0800 Subject: [PATCH] Manually running yasm from cmake. --- secp256k1/CMakeLists.txt | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/secp256k1/CMakeLists.txt b/secp256k1/CMakeLists.txt index f2a44dd68..ca4fde94e 100644 --- a/secp256k1/CMakeLists.txt +++ b/secp256k1/CMakeLists.txt @@ -3,18 +3,29 @@ cmake_policy(SET CMP0015 NEW) set(CMAKE_ASM_COMPILER "yasm") #aux_source_directory(. SRC_LIST) -if(APPLE) + +if ("${TARGET_PLATFORM}" STREQUAL "w64") + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/field_5x52_asm.o + COMMAND yasm -f win64 -o ${CMAKE_CURRENT_BINARY_DIR}/field_5x52_asm.o ${CMAKE_CURRENT_SOURCE_DIR}/field_5x52_asm.asm + ) + add_custom_target( + asmOut ALL + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/field_5x52_asm.o + ) + add_library(secp256k1 secp256k1.c ${CMAKE_CURRENT_BINARY_DIR}/field_5x52_asm.o) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -DUSE_FIELD_5X52 -DUSE_FIELD_5X52_ASM -DUSE_NUM_GMP -DUSE_FIELD_INV_NUM") +elseif(APPLE) # set(CMAKE_INSTALL_PREFIX ../lib) add_library(secp256k1 SHARED secp256k1.c field_5x52_asm.asm) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -DUSE_FIELD_GMP -DUSE_NUM_GMP -DUSE_FIELD_INV_NUM") else() add_library(secp256k1 secp256k1.c field_5x52_asm.asm) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -DUSE_FIELD_GMP -DUSE_NUM_GMP -DUSE_FIELD_INV_NUM") endif() -#set(CMAKE_C_FLAGS "-DUSE_FIELD_5X52 -DUSE_FIELD_5X52_ASM -DUSE_NUM_OPENSSL -DUSE_FIELD_INV_BUILTIN") -#target_link_libraries(secp256k1 crypto) -set(CMAKE_C_FLAGS "-std=c99 -DUSE_FIELD_GMP -DUSE_NUM_GMP -DUSE_FIELD_INV_NUM") target_link_libraries(secp256k1 gmp) if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") include_directories(/usr/local/include) -endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") \ No newline at end of file +endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")