11cmake_minimum_required (VERSION 3.12 )
22
3- project (xdigest LANGUAGES C ASM )
3+ project (xdigest LANGUAGES C )
44
55include (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
188option (BUILD_SHARED_LIBS "Build using shared libraries" ON )
199option (USE_ASM "Enable assembly implementation." ON )
2010option (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
2713try_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." )
3925endif ()
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+
4151add_library (xdigest
4252 xdigest/core/cpuid.c
4353 xdigest/core/armcap.c
0 commit comments