You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our CMakeLists.txt is nearly 750 lines long. Given that CMake syntax is quite difficult to read and parse (at least for me) we should consider splitting this into multiple CMakeLists.txt files.
My suggestion is that we add four new files
s2n-tls/tests/CMakeLists.txt: responsible for defining common test configuration. E.g. ASAN is used by both unit and fuzz tests.
s2n-tls/tests/testlib/CMakeLists.txt: responsible for defining the "testss2n" target
s2n-tls/tests/unit/CMakeLists.txt: responsible for defining all of the unit tests
s2n-tls/tests/fuzz/CMakeLists.txt: responsible for defining the fuzz tests
common cflags
We have a large collection of compile options that we use for libs2n.
These are general hygiene options that should be applied everywhere, but we don't have a good mechanism for doing that.
My suggestion is that we collect all of the compilation variables into S2N_COMMON_COMPILE_OPTIONS or something like that. Then we'd change the S2N_WERROR_ALL section
if (S2N_WERROR_ALL)
# because the options are public, all attached targets will inherit all of the compile options.# this includes unit and fuzz tests and the testlibtarget_compile_options(${PROJECT_NAME}PUBLIC -Werror ${S2N_COMMON_COMPILE_OPTIONS})
elseif (UNSAFE_TREAT_WARNINGS_AS_ERRORS)
target_compile_options(${PROJECT_NAME}PRIVATE -Werror ${S2N_COMMON_COMPILE_OPTIONS})
endif ()
The text was updated successfully, but these errors were encountered:
Problem:
refactor to multiple files
Our CMakeLists.txt is nearly 750 lines long. Given that CMake syntax is quite difficult to read and parse (at least for me) we should consider splitting this into multiple CMakeLists.txt files.
My suggestion is that we add four new files
s2n-tls/tests/CMakeLists.txt
: responsible for defining common test configuration. E.g. ASAN is used by both unit and fuzz tests.s2n-tls/tests/testlib/CMakeLists.txt
: responsible for defining the "testss2n" targets2n-tls/tests/unit/CMakeLists.txt
: responsible for defining all of the unit testss2n-tls/tests/fuzz/CMakeLists.txt
: responsible for defining the fuzz testscommon cflags
We have a large collection of compile options that we use for libs2n.
s2n-tls/CMakeLists.txt
Lines 138 to 141 in 2467416
These are general hygiene options that should be applied everywhere, but we don't have a good mechanism for doing that.
My suggestion is that we collect all of the compilation variables into
S2N_COMMON_COMPILE_OPTIONS
or something like that. Then we'd change the S2N_WERROR_ALL sections2n-tls/CMakeLists.txt
Lines 143 to 147 in 2467416
The text was updated successfully, but these errors were encountered: