用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

213 lines
4.7 KiB

5 months ago
# Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation. The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License, version 2.0, for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
SET(MY_TIME_SOURCES my_time.cc my_systime.cc)
ADD_CONVENIENCE_LIBRARY(mytime ${MY_TIME_SOURCES})
IF(SOLARIS_INTEL)
# Sun Studio 12.6 generates code that segfaults for std::chrono stuff.
TARGET_COMPILE_OPTIONS(mytime_objlib PRIVATE $<$<CONFIG:RelWithDebInfo>:-xO1>)
ENDIF()
SET(MYSYS_SOURCES
array.cc
base64.cc
charset.cc
charset-def.cc
checksum.cc
dbug.cc
errors.cc
lf_alloc-pin.cc
lf_dynarray.cc
lf_hash.cc
list.cc
mf_arr_appstr.cc
mf_cache.cc
mf_dirname.cc
mf_fn_ext.cc
mf_format.cc
mf_iocache2.cc
mf_iocache.cc
mf_keycache.cc
mf_keycaches.cc
mf_loadpath.cc
mf_pack.cc
mf_path.cc
mf_same.cc
mf_tempdir.cc
mf_tempfile.cc
mf_unixpath.cc
mf_wcomp.cc
mulalloc.cc
my_access.cc
my_alloc.cc
my_bit.cc
my_bitmap.cc
my_chmod.cc
my_chsize.cc
my_compare.cc
my_compress.cc
my_copy.cc
my_create.cc
my_delete.cc
my_div.cc
my_error.cc
my_fallocator.cc
my_file.cc
my_fopen.cc
my_fstream.cc
my_gethwaddr.cc
my_getwd.cc
my_init.cc
my_lib.cc
my_malloc.cc
my_mess.cc
my_mkdir.cc
my_mmap.cc
my_murmur3.cc
my_once.cc
my_open.cc
my_pread.cc
my_rdtsc.cc
my_read.cc
my_rename.cc
my_seek.cc
my_static.cc
my_string.cc
my_symlink2.cc
my_symlink.cc
my_sync.cc
my_syslog.cc
my_thread.cc
my_thr_init.cc
my_user.cc
my_write.cc
pack.cc
print_version.cc
psi_noop.cc
ptr_cmp.cc
sql_chars.cc
stacktrace.cc
thr_cond.cc
thr_lock.cc
thr_mutex.cc
thr_rwlock.cc
tree.cc
typelib.cc
# From deleted mysys_ssl library
crypt_genhash_impl.cc
my_default.cc
my_getopt.cc
my_aes.cc
my_sha1.cc
my_sha2.cc
my_md5.cc
my_rnd.cc
)
LIST(APPEND MYSYS_SOURCES my_aes_openssl.cc)
IF (WIN32)
LIST(APPEND MYSYS_SOURCES
my_conio.cc
my_windac.cc
my_winerr.cc
my_winfile.cc
win_timers.cc
)
ENDIF()
IF(HAVE_POSIX_TIMERS)
LIST(APPEND MYSYS_SOURCES posix_timers.cc)
ENDIF()
IF(HAVE_KQUEUE_TIMERS)
LIST(APPEND MYSYS_SOURCES kqueue_timers.cc)
ENDIF()
IF(HAVE_GETPWNAM)
SET(MYSYS_SOURCES ${MYSYS_SOURCES} my_getpwnam.cc)
ENDIF()
IF(SOLARIS AND CMAKE_C_COMPILER_ID MATCHES "SunPro")
# Inline assembly template for rdtsc
SET_SOURCE_FILES_PROPERTIES(my_rdtsc.cc
PROPERTIES COMPILE_FLAGS "${CMAKE_CURRENT_SOURCE_DIR}/my_timer_cycles.il")
ENDIF()
IF(HAVE_LINUX_LARGE_PAGES)
LIST(APPEND MYSYS_SOURCES my_largepage.cc)
ENDIF()
IF(FREEBSD)
ADD_COMPILE_FLAGS(stacktrace.cc COMPILE_FLAGS ${LIBUNWIND_CFLAGS})
ENDIF()
ADD_CONVENIENCE_LIBRARY(mysys ${MYSYS_SOURCES}
LINK_LIBRARIES
mytime
strings
${ZLIB_LIBRARY}
${ZSTD_LIBRARY}
${LIBNSL}
${LIBM}
${LIBRT}
${LIBEXECINFO}
${LIBUNWIND_LDFLAGS}
${SSL_LIBRARIES}
)
# Need explicit pthread for gcc -fsanitize=address
IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=")
TARGET_LINK_LIBRARIES(mysys pthread)
ENDIF()
# Needed to resolve OpenSSL dependency on Windows
IF(WIN32)
TARGET_LINK_LIBRARIES(mysys crypt32)
ENDIF()
# Bug in std::call_once in optimized mode
IF(SOLARIS_SPARC AND MY_COMPILER_IS_GNU)
ADD_COMPILE_FLAGS(charset.cc COMPILE_FLAGS "-O0")
ENDIF()
MYSQL_ADD_EXECUTABLE(thr_lock
thr_lock.cc
LINK_LIBRARIES mysys
SKIP_INSTALL
)
SET_TARGET_PROPERTIES(thr_lock PROPERTIES COMPILE_FLAGS "-DMAIN")
MYSQL_ADD_EXECUTABLE(mf_iocache_test
mf_iocache.cc
LINK_LIBRARIES mysys
SKIP_INSTALL
)
SET_TARGET_PROPERTIES(mf_iocache_test PROPERTIES COMPILE_FLAGS "-DMAIN")
MYSQL_ADD_EXECUTABLE(base64_test
base64.cc
DEPENDENCIES GenError
LINK_LIBRARIES mysys
SKIP_INSTALL
)
SET_TARGET_PROPERTIES(base64_test PROPERTIES COMPILE_FLAGS "-DMAIN")