File tree Expand file tree Collapse file tree 3 files changed +21
-2
lines changed Expand file tree Collapse file tree 3 files changed +21
-2
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ option(LIB_PROTO_MUTATOR_EXAMPLES "Enable examples building" ON)
23
23
option (LIB_PROTO_MUTATOR_DOWNLOAD_PROTOBUF
24
24
"Automatically download working protobuf" OFF )
25
25
option (LIB_PROTO_MUTATOR_WITH_ASAN "Enable address sanitizer" OFF )
26
+ option (LIB_PROTO_MUTATOR_EXAMPLES_USE_LATEST "Use latest libexpat/libxml2 for expat_example/libxml2_example" OFF )
26
27
set (PKG_CONFIG_PATH "share/pkgconfig" CACHE STRING "Directory to install pkgconfig file" )
27
28
set (LIB_PROTO_MUTATOR_FUZZER_LIBRARIES "" CACHE STRING "Fuzzing engine libs" )
28
29
Original file line number Diff line number Diff line change @@ -37,11 +37,20 @@ if(DEFINED CMAKE_C_COMPILER_LAUNCHER AND DEFINED CMAKE_CXX_COMPILER_LAUNCHER)
37
37
set (EXPAT_CXX_COMPILER "${CMAKE_CXX_COMPILER_LAUNCHER} ${EXPAT_CXX_COMPILER} " )
38
38
endif ()
39
39
40
+ # NOTE: Fuzzer "expat_example" is being used for actual fuzzing in OSS-Fuzz.
41
+ # We want a rock-solid build by default (hence the pinning to a
42
+ # specific version) but also be fuzzing the very latest in OSS-Fuzz.
43
+ if (LIB_PROTO_MUTATOR_EXAMPLES_USE_LATEST )
44
+ set (EXPAT_GIT_TAG "master" )
45
+ else ()
46
+ set (EXPAT_GIT_TAG "R_2_6_4" )
47
+ endif ()
48
+
40
49
include (ExternalProject )
41
50
ExternalProject_Add (${EXPAT_TARGET}
42
51
PREFIX ${EXPAT_TARGET}
43
52
GIT_REPOSITORY https://github.com/libexpat/libexpat
44
- GIT_TAG master
53
+ GIT_TAG ${EXPAT_GIT_TAG}
45
54
UPDATE_COMMAND ""
46
55
CONFIGURE_COMMAND cd ${EXPAT_SRC_DIR} && ./buildconf.sh && ./configure
47
56
--prefix=${EXPAT_INSTALL_DIR}
Original file line number Diff line number Diff line change @@ -30,11 +30,20 @@ foreach(lib IN LISTS LIBXML2_LIBRARIES)
30
30
add_dependencies (${lib} ${LIBXML2_TARGET} )
31
31
endforeach (lib )
32
32
33
+ # NOTE: Fuzzer "libxml2_example" is being used for actual fuzzing in OSS-Fuzz.
34
+ # We want a rock-solid build by default (hence the pinning to a
35
+ # specific version) but also be fuzzing the very latest in OSS-Fuzz.
36
+ if (LIB_PROTO_MUTATOR_EXAMPLES_USE_LATEST )
37
+ set (LIBXML2_GIT_TAG "master" )
38
+ else ()
39
+ set (LIBXML2_GIT_TAG "v2.13.6" )
40
+ endif ()
41
+
33
42
include (ExternalProject )
34
43
ExternalProject_Add (${LIBXML2_TARGET}
35
44
PREFIX ${LIBXML2_TARGET}
36
45
GIT_REPOSITORY GIT_REPOSITORY https://gitlab.gnome.org/GNOME/libxml2
37
- GIT_TAG master
46
+ GIT_TAG ${LIBXML2_GIT_TAG}
38
47
UPDATE_COMMAND ""
39
48
CMAKE_CACHE_ARGS -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
40
49
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
You can’t perform that action at this time.
0 commit comments