Browse Source

Manually running yasm from cmake.

cl-refactor
Eric Lombrozo 11 years ago
parent
commit
4e82e7f272
  1. 21
      secp256k1/CMakeLists.txt

21
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")
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

Loading…
Cancel
Save