@@ -25,10 +25,6 @@ check_cxx_source_compiles_with_flags("${CLMUL_CXXFLAGS}" "
2525)
2626
2727add_library (minisketch_common INTERFACE )
28- target_compile_definitions (minisketch_common INTERFACE
29- DISABLE_DEFAULT_FIELDS
30- ENABLE_FIELD_32
31- )
3228if (MSVC )
3329 target_compile_options (minisketch_common INTERFACE
3430 /wd4060
@@ -39,29 +35,6 @@ if(MSVC)
3935 )
4036endif ()
4137
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-
6538add_library (minisketch STATIC EXCLUDE_FROM_ALL
6639 ${PROJECT_SOURCE_DIR} /src/minisketch/src/minisketch.cpp
6740 ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/generic_1byte.cpp
@@ -74,8 +47,11 @@ add_library(minisketch STATIC EXCLUDE_FROM_ALL
7447 ${PROJECT_SOURCE_DIR} /src/minisketch/src/fields/generic_8bytes.cpp
7548)
7649
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+ )
7955
8056target_include_directories (minisketch
8157 PUBLIC
@@ -86,9 +62,25 @@ target_link_libraries(minisketch
8662 PRIVATE
8763 core_interface
8864 minisketch_common
89- $<TARGET_NAME_IF_EXISTS:minisketch_clmul>
9065)
9166
9267set_target_properties (minisketch PROPERTIES
9368 EXPORT_COMPILE_COMMANDS OFF
9469)
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