Skip to content

Commit 32954de

Browse files
committed
Blindly support win32 nasm.
git-svn-id: https://svn.rinrab.com/rinrab/xdigest/trunk@6355 0083e6b4-6090-234a-836e-88fcc467669c
1 parent cd707ad commit 32954de

1 file changed

Lines changed: 27 additions & 17 deletions

File tree

CMakeLists.txt

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,15 @@
11
cmake_minimum_required(VERSION 3.12)
22

3-
project(xdigest LANGUAGES C ASM)
3+
project(xdigest LANGUAGES C)
44

55
include(GNUInstallDirs)
66

7-
file(
8-
STRINGS "xdigest/include/xdigest/xdigest.h" VERSION_STRINGS
9-
REGEX "#define (XDIG_VERSION_MAJOR|XDIG_VERSION_MINOR|XDIG_VERSION_PATCH)"
10-
)
11-
12-
string(REGEX REPLACE ".*XDIG_VERSION_MAJOR +([0-9]+).*" "\\1" XDIG_VERSION_MAJOR ${VERSION_STRINGS})
13-
string(REGEX REPLACE ".*XDIG_VERSION_MINOR +([0-9]+).*" "\\1" XDIG_VERSION_MINOR ${VERSION_STRINGS})
14-
string(REGEX REPLACE ".*XDIG_VERSION_PATCH +([0-9]+).*" "\\1" XDIG_VERSION_PATCH ${VERSION_STRINGS})
15-
16-
set(XDIG_VERSION "${XDIG_VERSION_MAJOR}.${XDIG_VERSION_MINOR}.${XDIG_VERSION_PATCH}")
17-
7+
# options
188
option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
199
option(USE_ASM "Enable assembly implementation." ON)
2010
option(ENABLE_TESTS "Compile test-suite" ON)
2111

22-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -Wall")
23-
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack")
24-
25-
set(ASMEXT S)
26-
12+
# Detect architecture
2713
try_compile(
2814
DETECT_PLATFORM_RESULT
2915
${CMAKE_CURRENT_BINARY_DIR}
@@ -38,6 +24,30 @@ if ("${CONFIG}" STREQUAL "unsupported")
3824
message(ERROR "Could not detect assembly architecture or one is not supported.")
3925
endif()
4026

27+
if (USE_ASM)
28+
if (CONFIG MATCHES "win*.")
29+
enable_language(NASM)
30+
set(ASMEXT asm)
31+
else()
32+
enable_language(ASM)
33+
set(ASMEXT S)
34+
endif()
35+
endif()
36+
37+
file(
38+
STRINGS "xdigest/include/xdigest/xdigest.h" VERSION_STRINGS
39+
REGEX "#define (XDIG_VERSION_MAJOR|XDIG_VERSION_MINOR|XDIG_VERSION_PATCH)"
40+
)
41+
42+
string(REGEX REPLACE ".*XDIG_VERSION_MAJOR +([0-9]+).*" "\\1" XDIG_VERSION_MAJOR ${VERSION_STRINGS})
43+
string(REGEX REPLACE ".*XDIG_VERSION_MINOR +([0-9]+).*" "\\1" XDIG_VERSION_MINOR ${VERSION_STRINGS})
44+
string(REGEX REPLACE ".*XDIG_VERSION_PATCH +([0-9]+).*" "\\1" XDIG_VERSION_PATCH ${VERSION_STRINGS})
45+
46+
set(XDIG_VERSION "${XDIG_VERSION_MAJOR}.${XDIG_VERSION_MINOR}.${XDIG_VERSION_PATCH}")
47+
48+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -Wall")
49+
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack")
50+
4151
add_library(xdigest
4252
xdigest/core/cpuid.c
4353
xdigest/core/armcap.c

0 commit comments

Comments
 (0)