@@ -25,10 +25,6 @@ check_cxx_source_compiles_with_flags("${CLMUL_CXXFLAGS}" "
25
25
)
26
26
27
27
add_library (minisketch_common INTERFACE )
28
- target_compile_definitions (minisketch_common INTERFACE
29
- DISABLE_DEFAULT_FIELDS
30
- ENABLE_FIELD_32
31
- )
32
28
if (MSVC )
33
29
target_compile_options (minisketch_common INTERFACE
34
30
/wd4060
@@ -39,29 +35,6 @@ if(MSVC)
39
35
)
40
36
endif ()
41
37
42
- if (HAVE_CLMUL )
43
- add_library (minisketch_clmul OBJECT EXCLUDE_FROM_ALL
44
- ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_1byte.cpp
45
- ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_2bytes.cpp
46
- ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_3bytes.cpp
47
- ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_4bytes.cpp
48
- ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_5bytes.cpp
49
- ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_6bytes.cpp
50
- ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_7bytes.cpp
51
- ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_8bytes.cpp
52
- )
53
- target_compile_definitions (minisketch_clmul PUBLIC HAVE_CLMUL )
54
- target_compile_options (minisketch_clmul PRIVATE ${CLMUL_CXXFLAGS} )
55
- target_link_libraries (minisketch_clmul
56
- PRIVATE
57
- core_interface
58
- minisketch_common
59
- )
60
- set_target_properties (minisketch_clmul PROPERTIES
61
- EXPORT_COMPILE_COMMANDS OFF
62
- )
63
- endif ()
64
-
65
38
add_library (minisketch STATIC EXCLUDE_FROM_ALL
66
39
${PROJECT_SOURCE_DIR} /src/minisketch/src/minisketch.cpp
67
40
${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/generic_1byte.cpp
@@ -74,8 +47,11 @@ add_library(minisketch STATIC EXCLUDE_FROM_ALL
74
47
${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/generic_8bytes.cpp
75
48
)
76
49
77
- # Workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/24058
78
- set_target_properties (minisketch PROPERTIES OPTIMIZE_DEPENDENCIES OFF )
50
+ target_compile_definitions (minisketch
51
+ PRIVATE
52
+ DISABLE_DEFAULT_FIELDS
53
+ ENABLE_FIELD_32
54
+ )
79
55
80
56
target_include_directories (minisketch
81
57
PUBLIC
@@ -86,9 +62,25 @@ target_link_libraries(minisketch
86
62
PRIVATE
87
63
core_interface
88
64
minisketch_common
89
- $< TARGET_NAME_IF_EXISTS:minisketch_clmul>
90
65
)
91
66
92
67
set_target_properties (minisketch PROPERTIES
93
68
EXPORT_COMPILE_COMMANDS OFF
94
69
)
70
+
71
+ if (HAVE_CLMUL )
72
+ set (_minisketch_clmul_src
73
+ ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_1byte.cpp
74
+ ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_2bytes.cpp
75
+ ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_3bytes.cpp
76
+ ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_4bytes.cpp
77
+ ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_5bytes.cpp
78
+ ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_6bytes.cpp
79
+ ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_7bytes.cpp
80
+ ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/clmul_8bytes.cpp
81
+ )
82
+ target_sources (minisketch PRIVATE ${_minisketch_clmul_src} )
83
+ set_property (SOURCE ${_minisketch_clmul_src} PROPERTY COMPILE_OPTIONS ${CLMUL_CXXFLAGS} )
84
+ target_compile_definitions (minisketch PRIVATE HAVE_CLMUL )
85
+ unset (_minisketch_clmul_src )
86
+ endif ()
0 commit comments