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