From ffc0213bbb1fbfef8e9df5e9de34f6a6e5b1014e Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sat, 31 Oct 2020 20:19:00 -0400 Subject: [PATCH 1/9] Refactoring CMake buildsystem configuration --- CMakeLists.txt | 104 ++++++--- lib/CMakeLists.txt | 181 +++++++++----- lib/libcompat.h | 4 +- src/CMakeLists.txt | 545 +++++++++++++++++++++++++++++++------------ tests/CMakeLists.txt | 230 ++++++++++++------ 5 files changed, 748 insertions(+), 316 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 23311d8c..ffe0e44f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,9 +79,9 @@ include(GNUInstallDirs) ############################################################################### # Follow ISO C99 standard -set(CMAKE_C_STANDARD 99) -set(CMAKE_C_STANDARD_REQUIRED ON) -set(CMAKE_C_EXTENSIONS ON) # Use GNU extensions and POSIX standard +# set(CMAKE_C_STANDARD 99) +# set(CMAKE_C_STANDARD_REQUIRED ON) +# set(CMAKE_C_EXTENSIONS ON) # Use GNU extensions and POSIX standard ############################################################################### # Option @@ -110,20 +110,20 @@ else(CHECK_ENABLE_TIMEOUT_TESTS) endif(CHECK_ENABLE_TIMEOUT_TESTS) ############################################################################### # Check system and architecture -if(WIN32) - if(MSVC60) - set(WINVER 0x0400) - else() - set(WINVER 0x0600) - endif() - set(_WIN32_WINNT ${WINVER}) -endif(WIN32) - -if(MSVC) - add_definitions(-D_CRT_SECURE_NO_DEPRECATE) - add_definitions(-D_CRT_SECURE_NO_WARNINGS) - add_definitions(-D_CRT_NONSTDC_NO_WARNINGS) -endif(MSVC) +# if(WIN32) +# if(MSVC60) +# set(WINVER 0x0400) +# else() +# set(WINVER 0x0600) +# endif() +# set(_WIN32_WINNT ${WINVER}) +# endif(WIN32) + +# if(MSVC) +# add_definitions(-D_CRT_SECURE_NO_DEPRECATE) +# add_definitions(-D_CRT_SECURE_NO_WARNINGS) +# add_definitions(-D_CRT_NONSTDC_NO_WARNINGS) +# endif(MSVC) ############################################################################### include(CheckCSourceCompiles) @@ -244,14 +244,33 @@ if(HAVE_REGEX_H AND HAVE_REGCOMP AND HAVE_REGEXEC) set(ENABLE_REGEX 1) endif() -if (HAVE_PTHREAD) - check_c_compiler_flag("-pthread" HAVE_PTHREADS_FLAG) - if (HAVE_PTHREADS_FLAG) - add_definitions("-pthread") - add_link_options("-pthread") - endif() -endif() +# if (HAVE_PTHREAD) +# check_c_compiler_flag("-pthread" HAVE_PTHREADS_FLAG) +# if (HAVE_PTHREADS_FLAG) +# add_definitions("-pthread") +# add_link_options("-pthread") +# endif() +# endif() + +INCLUDE(FindThreads) + +SET(THREADS_PREFER_PTHREAD_FLAG ON) +MESSAGE(STATUS "Prefer -pthread: ${THREADS_PREFER_PTHREAD_FLAG}") + +FIND_PACKAGE(Threads + REQUIRED +) +IF(Threads_FOUND AND CMAKE_USE_PTHREADS_INIT) + SET(HAVE_PTHREAD 1) + + # add_definitions("-pthread") + # add_link_options("-pthread") +ENDIF() + +MESSAGE(STATUS "Threads library found: ${Threads_FOUND}") +MESSAGE(STATUS "PThreads compatible: ${CMAKE_USE_PTHREADS_INIT}") +MESSAGE(STATUS "Win32 Threads: ${CMAKE_USE_WIN32_THREADS_INIT}") ############################################################################### # Check defines @@ -405,8 +424,11 @@ endif (HAVE_SUBUNIT) ############################################################################### # Generate "config.h" from "cmake/config.h.in" -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.h.in - ${CMAKE_CURRENT_BINARY_DIR}/config.h) +# Param @ONLY not used on purpose! +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/config.h.in config.h) + +# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.h.in +# ${CMAKE_CURRENT_BINARY_DIR}/config.h) # Param @ONLY not used on purpose! include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) add_definitions(-DHAVE_CONFIG_H) @@ -425,13 +447,26 @@ set(CONFIG_HEADER ${CMAKE_CURRENT_BINARY_DIR}/config.h) # # When converting to CMake we also want to abandon the m4 macros. # -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_stdint.h.in - ${CMAKE_CURRENT_BINARY_DIR}/check_stdint.h @ONLY) -if(NOT THIS_IS_SUBPROJECT) - install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/check_stdint.h - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -endif() +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/check_stdint.h.in check_stdint.h @ONLY) + +IF(NOT THIS_IS_SUBPROJECT) + INSTALL( + FILES + check_stdint.h + DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR} + ) +ENDIF() + +# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_stdint.h.in +# ${CMAKE_CURRENT_BINARY_DIR}/check_stdint.h @ONLY) + + +# if(NOT THIS_IS_SUBPROJECT) +# install( +# FILES ${CMAKE_CURRENT_BINARY_DIR}/check_stdint.h +# DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +# endif() ############################################################################### # Generate "check.pc", the package config (pkgconfig) file for libtool @@ -499,7 +534,7 @@ add_subdirectory(checkmk) if(BUILD_TESTING AND NOT THIS_IS_SUBPROJECT) add_subdirectory(tests) add_test(NAME check_check COMMAND check_check) - add_test(NAME check_check_export COMMAND check_check_export) + #add_test(NAME check_check_export COMMAND check_check_export) # Only offer to run shell scripts if we may have a working interpreter if(UNIX OR MINGW OR MSYS) @@ -579,3 +614,4 @@ endif() # vim: shiftwidth=2:softtabstop=2:tabstop=2:expandtab:autoindent +MESSAGE(STATUS "CMake Version: ${CMAKE_VERSION}") diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 38cbc53e..325f25bf 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -19,61 +19,132 @@ # Boston, MA 02111-1307, USA. # - -set(SOURCES libcompat.c) - -set(SOURCES ${SOURCES} fpclassify.c) - -if (NOT HAVE_LIBRT) - set(SOURCES ${SOURCES} clock_gettime.c) - set(SOURCES ${SOURCES} timer_create.c) - set(SOURCES ${SOURCES} timer_delete.c) - set(SOURCES ${SOURCES} timer_settime.c) -endif(NOT HAVE_LIBRT) - -if(NOT HAVE_GETLINE) - set(SOURCES ${SOURCES} getline.c) -endif(NOT HAVE_GETLINE) - -if(NOT HAVE_GETTIMEOFDAY) - set(SOURCES ${SOURCES} gettimeofday.c) -endif(NOT HAVE_GETTIMEOFDAY) - -if(NOT HAVE_DECL_LOCALTIME_R) - set(SOURCES ${SOURCES} localtime_r.c) -endif(NOT HAVE_DECL_LOCALTIME_R) - -if(NOT HAVE_MALLOC) - set(SOURCES ${SOURCES} malloc.c) -endif(NOT HAVE_MALLOC) - -if(NOT HAVE_REALLOC) - set(SOURCES ${SOURCES} realloc.c) -endif(NOT HAVE_REALLOC) - -if(NOT HAVE_SNPRINTF) - set(SOURCES ${SOURCES} snprintf.c) -endif(NOT HAVE_SNPRINTF) - -if(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) - set(SOURCES ${SOURCES} strdup.c) -endif(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) - -if(NOT HAVE_DECL_STRSIGNAL) - set(SOURCES ${SOURCES} strsignal.c) -endif(NOT HAVE_DECL_STRSIGNAL) - -if(NOT HAVE_DECL_ALARM) - set(SOURCES ${SOURCES} alarm.c) -endif(NOT HAVE_DECL_ALARM) - -if (NOT HAVE_PTHREAD) - set(SOURCES ${SOURCES} pthread_mutex.c) -endif() - -set(HEADERS libcompat.h) - -add_library(compat STATIC ${SOURCES} ${HEADERS}) +ADD_LIBRARY(compat STATIC + libcompat.c + $<$>:clock_gettime.c timer_create.c timer_delete.c timer_settime.c> + $<$>:getline.c> + $<$>:gettimeofday.c> + $<$>:localtime_r.c> + $<$>:malloc.c> + $<$>:realloc.c> + $<$>:snprintf.c> + $<$>,$>>:strdup.c> + $<$>:strsignal.c> + $<$>:alarm.c> + $<$>:pthread_mutex.c> +) + +SET_TARGET_PROPERTIES(compat + PROPERTIES + LANGUAGE C + C_STANDARD 99 + C_STANDARD_REQUIRED ON + C_EXTENSIONS ON +) + +TARGET_COMPILE_FEATURES(compat + PUBLIC + c_function_prototypes + c_variadic_macros + c_std_99 +) + +TARGET_COMPILE_OPTIONS(compat + PUBLIC + #################################################### + # Clang Options + #################################################### + # + # Enable the standard diagnostic options if we + # detect that the current C compiler is clang. + # + $<$:-Wall -Wextra> + + #################################################### + # GCC Options + #################################################### + # + # Enable the standard diagnostic options if we + # detect that the current C compiler is GCC. + # + $<$:-Wall -Wextra> + # + # If the C compiler is GCC, we are building a Debug + # build, and the version of our compiler is at least + # 10.1.0, enable the static analyzer. + # + # This option was implemented in version 10.1.0, so + # this is the minimum version required for this + # option. + # + $<$,$,10.1.0>,$>:-fanalyzer> +) + +TARGET_COMPILE_DEFINITIONS(compat + PUBLIC + $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> +) + +TARGET_INCLUDE_DIRECTORIES(compat + PUBLIC + ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR} +) + +# set(SOURCES libcompat.c) + +# set(SOURCES ${SOURCES} fpclassify.c) + +# if (NOT HAVE_LIBRT) +# set(SOURCES ${SOURCES} clock_gettime.c) +# set(SOURCES ${SOURCES} timer_create.c) +# set(SOURCES ${SOURCES} timer_delete.c) +# set(SOURCES ${SOURCES} timer_settime.c) +# endif(NOT HAVE_LIBRT) + +# if(NOT HAVE_GETLINE) +# set(SOURCES ${SOURCES} getline.c) +# endif(NOT HAVE_GETLINE) + +# if(NOT HAVE_GETTIMEOFDAY) +# set(SOURCES ${SOURCES} gettimeofday.c) +# endif(NOT HAVE_GETTIMEOFDAY) + +# if(NOT HAVE_DECL_LOCALTIME_R) +# set(SOURCES ${SOURCES} localtime_r.c) +# endif(NOT HAVE_DECL_LOCALTIME_R) + +# if(NOT HAVE_MALLOC) +# set(SOURCES ${SOURCES} malloc.c) +# endif(NOT HAVE_MALLOC) + +# if(NOT HAVE_REALLOC) +# set(SOURCES ${SOURCES} realloc.c) +# endif(NOT HAVE_REALLOC) + +# if(NOT HAVE_SNPRINTF) +# set(SOURCES ${SOURCES} snprintf.c) +# endif(NOT HAVE_SNPRINTF) + +# if(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) +# set(SOURCES ${SOURCES} strdup.c) +# endif(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) + +# if(NOT HAVE_DECL_STRSIGNAL) +# set(SOURCES ${SOURCES} strsignal.c) +# endif(NOT HAVE_DECL_STRSIGNAL) + +# if(NOT HAVE_DECL_ALARM) +# set(SOURCES ${SOURCES} alarm.c) +# endif(NOT HAVE_DECL_ALARM) + +# if (NOT HAVE_PTHREAD) +# set(SOURCES ${SOURCES} pthread_mutex.c) +# endif() + +# set(HEADERS libcompat.h) + +#add_library(compat STATIC ${SOURCES} ${HEADERS}) # vim: shiftwidth=2:softtabstop=2:tabstop=2:expandtab:autoindent diff --git a/lib/libcompat.h b/lib/libcompat.h index b5983d70..ce49c500 100644 --- a/lib/libcompat.h +++ b/lib/libcompat.h @@ -295,9 +295,9 @@ CK_DLL_EXP int timer_delete(timer_t timerid); * snprintf (or its variants) should be replaced with * the C99 compliant version in libcompat. */ -#if HAVE_CONFIG_H +//#if HAVE_CONFIG_H #include -#endif +//#endif #if HAVE_STDARG_H #include diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4a02dbea..c57e8fe5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -20,39 +20,270 @@ # Boston, MA 02111-1307, USA. # -set(SOURCES - check.c - check_error.c - check_list.c - check_log.c - check_msg.c - check_pack.c - check_print.c - check_run.c - check_str.c) - -set(HEADERS - ${CONFIG_HEADER} - ${CMAKE_CURRENT_BINARY_DIR}/check.h - check.h.in - check_error.h - check_impl.h - check_list.h - check_log.h - check_msg.h - check_pack.h - check_print.h - check_str.h) - -configure_file(check.h.in check.h @ONLY) +CONFIGURE_FILE(check.h.in check.h @ONLY) + +SET(LIBRARY_OUTPUT_NAME "check") + +LIST(APPEND PUBLIC_HEADERS + ${CMAKE_CURRENT_BINARY_DIR}/check.h + ${CMAKE_SOURCE_DIR}/check_stdint.h +) + +ADD_LIBRARY(check STATIC + check.c + check_error.c + check_list.c + check_log.c + check_msg.c + check_pack.c + check_print.c + check_run.c + check_str.c + ${CMAKE_SOURCE_DIR}/lib/fpclassify.c + $<$>:${CMAKE_SOURCE_DIR}/lib/clock_gettime.c ${CMAKE_SOURCE_DIR}/lib/timer_create.c ${CMAKE_SOURCE_DIR}/lib/timer_delete.c ${CMAKE_SOURCE_DIR}/lib/timer_settime.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/getline.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/gettimeofday.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/localtime_r.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/malloc.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/realloc.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/snprintf.c> + $<$>,$>>:${CMAKE_SOURCE_DIR}/lib/strdup.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/strsignal.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/alarm.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/pthread_mutex.c> +) + +SET_TARGET_PROPERTIES(check + PROPERTIES + LANGUAGE + C + C_STANDARD + 99 + C_STANDARD_REQUIRED + ON + C_EXTENSIONS + ON + OUTPUT_NAME + ${LIBRARY_OUTPUT_NAME} + VERSION + ${PROJECT_VERSION} + PUBLIC_HEADER + "${PUBLIC_HEADERS}" +) + +TARGET_COMPILE_OPTIONS(check + PUBLIC + #################################################### + # Clang Options + #################################################### + # + # Enable the standard diagnostic options if we + # detect that the current C compiler is clang. + # + $<$:-Wall -Wextra> + + #################################################### + # GCC Options + #################################################### + # + # Enable the standard diagnostic options if we + # detect that the current C compiler is GCC. + # + $<$:-Wall -Wextra> + # + # If the C compiler is GCC, we are building a Debug + # build, and the version of our compiler is at least + # 10.1.0, enable the static analyzer. + # + # This option was implemented in version 10.1.0, so + # this is the minimum version required for this + # option. + # + $<$,$,10.1.0>,$>:-fanalyzer> +) + +TARGET_COMPILE_DEFINITIONS(check + PUBLIC + $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> +) + +TARGET_LINK_LIBRARIES(check + PRIVATE + $<$,$>:${CMAKE_THREAD_LIBS_INIT}> + PUBLIC + $<$:m> + $<$:rt> + $<$:subunit> +) + +TARGET_INCLUDE_DIRECTORIES(check + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + PUBLIC + $ + $ + $ +) + +ADD_LIBRARY(Check::check ALIAS check) + +IF(MSVC) + SET(LIBRARY_OUTPUT_NAME "checkDynamic") +ENDIF() + +ADD_LIBRARY(checkShared SHARED + check.c + check_error.c + check_list.c + check_log.c + check_msg.c + check_pack.c + check_print.c + check_run.c + check_str.c + ${CMAKE_SOURCE_DIR}/lib/fpclassify.c + $<$>:${CMAKE_SOURCE_DIR}/lib/clock_gettime.c ${CMAKE_SOURCE_DIR}/lib/timer_create.c ${CMAKE_SOURCE_DIR}/lib/timer_delete.c ${CMAKE_SOURCE_DIR}/lib/timer_settime.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/getline.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/gettimeofday.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/localtime_r.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/malloc.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/realloc.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/snprintf.c> + $<$>,$>>:${CMAKE_SOURCE_DIR}/lib/strdup.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/strsignal.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/alarm.c> + $<$>:${CMAKE_SOURCE_DIR}/lib/pthread_mutex.c> +) + +SET_TARGET_PROPERTIES(checkShared + PROPERTIES + LANGUAGE + C + C_STANDARD + 99 + C_STANDARD_REQUIRED + ON + C_EXTENSIONS + ON + OUTPUT_NAME + ${LIBRARY_OUTPUT_NAME} + VERSION + ${PROJECT_VERSION} + SOVERSION + ${PROJECT_VERSION_MAJOR} + PUBLIC_HEADER + "${PUBLIC_HEADERS}" +) + +TARGET_COMPILE_OPTIONS(checkShared + PUBLIC + #################################################### + # Clang Options + #################################################### + # + # Enable the standard diagnostic options if we + # detect that the current C compiler is clang. + # + $<$:-Wall -Wextra> + + #################################################### + # GCC Options + #################################################### + # + # Enable the standard diagnostic options if we + # detect that the current C compiler is GCC. + # + $<$:-Wall -Wextra> + # + # If the C compiler is GCC, we are building a Debug + # build, and the version of our compiler is at least + # 10.1.0, enable the static analyzer. + # + # This option was implemented in version 10.1.0, so + # this is the minimum version required for this + # option. + # + $<$,$,10.1.0>,$>:-fanalyzer> +) + +TARGET_COMPILE_DEFINITIONS(checkShared + PUBLIC + $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> + PRIVATE + $<$: "CK_DLL_EXP=_declspec(dllexport)" > + INTERFACE + $<$: "CK_DLL_EXP=_declspec(dllimport)" > +) + +TARGET_LINK_LIBRARIES(checkShared + PUBLIC + $<$:m> + $<$:rt> + $<$:subunit> +) + +TARGET_INCLUDE_DIRECTORIES(checkShared + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR} + PUBLIC + $ + $ + $ +) + +ADD_LIBRARY(Check::checkShared ALIAS checkShared) + +IF(NOT THIS_IS_SUBPROJECT) + INSTALL( + TARGETS + check + checkShared + EXPORT + check-targets + ARCHIVE DESTINATION + ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION + ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION + ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR} + ) +ENDIF() + +# set(SOURCES +# check.c +# check_error.c +# check_list.c +# check_log.c +# check_msg.c +# check_pack.c +# check_print.c +# check_run.c +# check_str.c) + +# set(HEADERS +# ${CONFIG_HEADER} +# ${CMAKE_CURRENT_BINARY_DIR}/check.h +# check.h.in +# check_error.h +# check_impl.h +# check_list.h +# check_log.h +# check_msg.h +# check_pack.h +# check_print.h +# check_str.h) + +# configure_file(check.h.in check.h @ONLY) # To maintain compatibility with the Autotools installation # we specifically create both shared and static libraries # as that is what Autotools script has been doing. # Normally CMake would create the system's native default library type. -add_library(check STATIC ${SOURCES} ${HEADERS}) -add_library(Check::check ALIAS check) +# add_library(check STATIC ${SOURCES} ${HEADERS}) +# add_library(Check::check ALIAS check) # We would like to create an OBJECT library but currently they are @@ -60,142 +291,150 @@ add_library(Check::check ALIAS check) # especially with target_link_libraries and install(EXPORT... # https://stackoverflow.com/questions/38832528/transitive-target-include-directories-on-object-libraries # So we instead do the work twice. -add_library(checkShared SHARED ${SOURCES} ${HEADERS}) -add_library(Check::checkShared ALIAS checkShared) +# add_library(checkShared SHARED ${SOURCES} ${HEADERS}) +#add_library(Check::checkShared ALIAS checkShared) # Add parts of libcompat as required -target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) -target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) - -if (NOT HAVE_LIBRT) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) -endif(NOT HAVE_LIBRT) - -if(NOT HAVE_GETLINE) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) -endif(NOT HAVE_GETLINE) - -if(NOT HAVE_GETTIMEOFDAY) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) -endif(NOT HAVE_GETTIMEOFDAY) - -if(NOT HAVE_DECL_LOCALTIME_R) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) -endif(NOT HAVE_DECL_LOCALTIME_R) - -if(NOT HAVE_MALLOC) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) -endif(NOT HAVE_MALLOC) - -if(NOT HAVE_REALLOC) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) -endif(NOT HAVE_REALLOC) - -if(NOT HAVE_SNPRINTF) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) -endif(NOT HAVE_SNPRINTF) - -if(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strdup.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) -endif(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) - -if(NOT HAVE_DECL_STRSIGNAL) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) -endif(NOT HAVE_DECL_STRSIGNAL) - -if(NOT HAVE_DECL_ALARM) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) -endif(NOT HAVE_DECL_ALARM) - -if(NOT HAVE_PTHREAD) - target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) - target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) -endif() +# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) +#target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) + +# if (NOT HAVE_LIBRT) +# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) +# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) +# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) +# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) +# endif(NOT HAVE_LIBRT) + +# if(NOT HAVE_GETLINE) +# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) +# endif(NOT HAVE_GETLINE) + +# if(NOT HAVE_GETTIMEOFDAY) +# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) +# endif(NOT HAVE_GETTIMEOFDAY) + +# if(NOT HAVE_DECL_LOCALTIME_R) +# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) +# endif(NOT HAVE_DECL_LOCALTIME_R) + +# if(NOT HAVE_MALLOC) +# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) +# endif(NOT HAVE_MALLOC) + +# if(NOT HAVE_REALLOC) +# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) +# endif(NOT HAVE_REALLOC) + +# if(NOT HAVE_SNPRINTF) +# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) +# endif(NOT HAVE_SNPRINTF) + +# if(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) +# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strdup.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) +# endif(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) + +# if(NOT HAVE_DECL_STRSIGNAL) +# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) +# endif(NOT HAVE_DECL_STRSIGNAL) + +# if(NOT HAVE_DECL_ALARM) +# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) +# endif(NOT HAVE_DECL_ALARM) + +# if(NOT HAVE_PTHREAD) +# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) +# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) +# endif() # Include libraries if available -if (HAVE_LIBM) - target_link_libraries(check PUBLIC m) - target_link_libraries(checkShared PUBLIC m) -endif (HAVE_LIBM) -if (HAVE_LIBRT) - target_link_libraries(check PUBLIC rt) - target_link_libraries(checkShared PUBLIC rt) -endif (HAVE_LIBRT) -if (HAVE_SUBUNIT) - target_link_libraries(check PUBLIC subunit) - target_link_libraries(checkShared PUBLIC subunit) -endif (HAVE_SUBUNIT) - -if(MSVC) - target_compile_definitions(checkShared - PRIVATE "CK_DLL_EXP=_declspec(dllexport)" - INTERFACE "CK_DLL_EXP=_declspec(dllimport)" - ) -endif (MSVC) +# if (HAVE_LIBM) +# target_link_libraries(check PUBLIC m) +# # target_link_libraries(checkShared PUBLIC m) +# endif (HAVE_LIBM) +# if (HAVE_LIBRT) +# target_link_libraries(check PUBLIC rt) +# # target_link_libraries(checkShared PUBLIC rt) +# endif (HAVE_LIBRT) +# if (HAVE_SUBUNIT) +# target_link_libraries(check PUBLIC subunit) +# # target_link_libraries(checkShared PUBLIC subunit) +# endif (HAVE_SUBUNIT) + +# if(MSVC) +# target_compile_definitions(checkShared +# PRIVATE "CK_DLL_EXP=_declspec(dllexport)" +# INTERFACE "CK_DLL_EXP=_declspec(dllimport)" +# ) +# endif (MSVC) # More configuration for exporting -set(LIBRARY_OUTPUT_NAME "check") -list(APPEND public_headers "${CMAKE_CURRENT_BINARY_DIR}/check.h") -list(APPEND public_headers "${CMAKE_CURRENT_BINARY_DIR}/../check_stdint.h") +# set(LIBRARY_OUTPUT_NAME "check") +# list(APPEND public_headers "${CMAKE_CURRENT_BINARY_DIR}/check.h") +# list(APPEND public_headers "${CMAKE_CURRENT_BINARY_DIR}/../check_stdint.h") -set_target_properties(check PROPERTIES - OUTPUT_NAME ${LIBRARY_OUTPUT_NAME} - PUBLIC_HEADER "${public_headers}" -) +# set_target_properties(check PROPERTIES +# OUTPUT_NAME ${LIBRARY_OUTPUT_NAME} +# PUBLIC_HEADER "${public_headers}" +# ) -if (MSVC) - # "On Windows you should probably give each library a different name, - # since there is a ".lib" file for both shared and static". - # https://stackoverflow.com/a/2152157/4716395 - # "Dynamic-Link Library" (DLL) is Microsoft terminology. - # So we call it this: - set(LIBRARY_OUTPUT_NAME "checkDynamic") -endif (MSVC) -set_target_properties(checkShared PROPERTIES - OUTPUT_NAME ${LIBRARY_OUTPUT_NAME} - VERSION ${PROJECT_VERSION} - SOVERSION ${PROJECT_VERSION_MAJOR} - PUBLIC_HEADER "${public_headers}" -) -target_include_directories(check - PUBLIC - $ - $ - $ -) -target_include_directories(checkShared - PUBLIC - $ - $ - $ -) +# if (MSVC) +# # "On Windows you should probably give each library a different name, +# # since there is a ".lib" file for both shared and static". +# # https://stackoverflow.com/a/2152157/4716395 +# # "Dynamic-Link Library" (DLL) is Microsoft terminology. +# # So we call it this: +# set(LIBRARY_OUTPUT_NAME "checkDynamic") +# endif (MSVC) +# set_target_properties(checkShared PROPERTIES +# OUTPUT_NAME ${LIBRARY_OUTPUT_NAME} +# VERSION ${PROJECT_VERSION} +# SOVERSION ${PROJECT_VERSION_MAJOR} +# PUBLIC_HEADER "${public_headers}" +# ) +# target_include_directories(check +# PUBLIC +# $ +# $ +# $ +# ) +# target_include_directories(checkShared +# PUBLIC +# $ +# $ +# $ +# ) -if(NOT THIS_IS_SUBPROJECT) - install(TARGETS check checkShared - EXPORT check-targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) -endif() +# IF(NOT THIS_IS_SUBPROJECT) +# INSTALL( +# TARGETS +# check +# checkShared +# EXPORT +# check-targets +# ARCHIVE DESTINATION +# ${CMAKE_INSTALL_LIBDIR} +# LIBRARY DESTINATION +# ${CMAKE_INSTALL_LIBDIR} +# RUNTIME DESTINATION +# ${CMAKE_INSTALL_BINDIR} +# PUBLIC_HEADER DESTINATION +# ${CMAKE_INSTALL_INCLUDEDIR} +# ) +# ENDIF() # vim: shiftwidth=2:softtabstop=2:tabstop=2:expandtab:autoindent diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 5a925c25..e865119c 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -20,76 +20,162 @@ # Boston, MA 02111-1307, USA. # -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../src) -# Enable finding check.h -include_directories(${CMAKE_CURRENT_BINARY_DIR}/../src) - -# For the test_vars.in script, to give the unit test shell script -# runners the location of the source files -set(srcdir "${CMAKE_CURRENT_SOURCE_DIR}") - -if(WIN32) - # CMake uses Unix slashes for everything, but the tests that - # read srcdir expect platform specific slashes. There are two - # slashes because the shell scripts will consume srcdir. - string(REPLACE "/" "\\\\" srcdir "${srcdir}") - set(EXEEXT ".exe") - set(IS_MSVC "1") -endif(WIN32) - -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test_vars.in - ${CMAKE_CURRENT_BINARY_DIR}/test_vars @ONLY) - -if(ENABLE_MEMORY_LEAKING_TESTS) - add_definitions(-DMEMORY_LEAKING_TESTS_ENABLED=1) -else(ENABLE_MEMORY_LEAKING_TESTS) - add_definitions(-DMEMORY_LEAKING_TESTS_ENABLED=0) -endif(ENABLE_MEMORY_LEAKING_TESTS) - -set(CHECK_CHECK_SOURCES - check_check_exit.c - check_check_fixture.c - check_check_fork.c - check_check_limit.c - check_check_log.c - check_check_log_internal.c - check_check_main.c - check_check_master.c - check_check_msg.c - check_check_pack.c - check_check_selective.c - check_check_sub.c - check_check_tags.c - check_list.c) -set(CHECK_CHECK_HEADERS check_check.h) -add_executable(check_check ${CHECK_CHECK_HEADERS} ${CHECK_CHECK_SOURCES}) -target_link_libraries(check_check check) - -set(CHECK_CHECK_EXPORT_SOURCES - check_check_sub.c - check_check_master.c - check_check_log.c - check_check_fork.c - check_check_export_main.c +CONFIGURE_FILE(test_vars.in test_vars @ONLY) + +ADD_EXECUTABLE(check_check + check_check_exit.c + check_check_fixture.c + check_check_fork.c + check_check_limit.c + check_check_log.c + check_check_log_internal.c + check_check_main.c + check_check_master.c + check_check_msg.c + check_check_pack.c + check_check_selective.c + check_check_sub.c + check_check_tags.c + check_list.c +) + +SET(CHECK_TESTS + check_check ) -set(CHECK_CHECK_EXPORT_HEADERS check_check.h) -add_executable(check_check_export - ${CHECK_CHECK_EXPORT_HEADERS} - ${CHECK_CHECK_EXPORT_SOURCES}) -target_link_libraries(check_check_export check) - -set(EX_OUTPUT_SOURCES ex_output.c) -add_executable(ex_output ${EX_OUTPUT_SOURCES}) -target_link_libraries(ex_output check) - -set(CHECK_NOFORK_SOURCES check_nofork.c) -add_executable(check_nofork ${CHECK_NOFORK_SOURCES}) -target_link_libraries(check_nofork check) - -set(CHECK_NOFORK_TEARDOWN_SOURCES check_nofork_teardown.c) -add_executable(check_nofork_teardown ${CHECK_NOFORK_TEARDOWN_SOURCES}) -target_link_libraries(check_nofork_teardown check) - -set(CHECK_SET_MAX_MSG_SIZE_SOURCES check_set_max_msg_size.c) -add_executable(check_set_max_msg_size ${CHECK_SET_MAX_MSG_SIZE_SOURCES}) -target_link_libraries(check_set_max_msg_size check) + +SET_TARGET_PROPERTIES(${CHECK_TESTS} + PROPERTIES + LANGUAGE + C + C_STANDARD + 99 + C_STANDARD_REQUIRED + ON + C_EXTENSIONS + ON +) + +FOREACH(CHECK_TEST ${CHECK_TESTS}) + TARGET_COMPILE_OPTIONS(${CHECK_TEST} + PUBLIC + ################################################ + # Clang Options + ################################################ + # + # Enable the standard diagnostic options if we + # detect that the current C compiler is clang. + # + $<$:-Wall -Wextra> + + ################################################ + # GCC Options + ################################################ + # + # Enable the standard diagnostic options if we + # detect that the current C compiler is GCC. + # + $<$:-Wall -Wextra> + # + # If the C compiler is GCC, we are building a + # Debug build, and the version of our compiler + # is at least 10.1.0 enable the static analyzer. + # + # This option was implemented in version 10.1.0, + # so this is the minimum version required for + # this option. + # + $<$,$,10.1.0>,$>:-fanalyzer> + ) + + TARGET_COMPILE_DEFINITIONS(${CHECK_TEST} + PUBLIC + $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> + $<$:MEMORY_LEAKING_TESTS_ENABLED=1> + ) + + TARGET_INCLUDE_DIRECTORIES(${CHECK_TEST} PUBLIC + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ) + + TARGET_LINK_LIBRARIES(${CHECK_TEST} + PUBLIC + $<$,$>:${CMAKE_THREAD_LIBS_INIT}> + check + ) +ENDFOREACH() + +# include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../src) +# # Enable finding check.h +# include_directories(${CMAKE_CURRENT_BINARY_DIR}/../src) + +# # For the test_vars.in script, to give the unit test shell script +# # runners the location of the source files +# set(srcdir "${CMAKE_CURRENT_SOURCE_DIR}") + +# if(WIN32) +# # CMake uses Unix slashes for everything, but the tests that +# # read srcdir expect platform specific slashes. There are two +# # slashes because the shell scripts will consume srcdir. +# string(REPLACE "/" "\\\\" srcdir "${srcdir}") +# set(EXEEXT ".exe") +# set(IS_MSVC "1") +# endif(WIN32) + +# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test_vars.in +# ${CMAKE_CURRENT_BINARY_DIR}/test_vars @ONLY) + +# if(ENABLE_MEMORY_LEAKING_TESTS) +# add_definitions(-DMEMORY_LEAKING_TESTS_ENABLED=1) +# else(ENABLE_MEMORY_LEAKING_TESTS) +# add_definitions(-DMEMORY_LEAKING_TESTS_ENABLED=0) +# endif(ENABLE_MEMORY_LEAKING_TESTS) + +# set(CHECK_CHECK_SOURCES +# check_check_exit.c +# check_check_fixture.c +# check_check_fork.c +# check_check_limit.c +# check_check_log.c +# check_check_log_internal.c +# check_check_main.c +# check_check_master.c +# check_check_msg.c +# check_check_pack.c +# check_check_selective.c +# check_check_sub.c +# check_check_tags.c +# check_list.c) +# set(CHECK_CHECK_HEADERS check_check.h) +# add_executable(check_check ${CHECK_CHECK_HEADERS} ${CHECK_CHECK_SOURCES}) +# target_link_libraries(check_check check) + +# set(CHECK_CHECK_EXPORT_SOURCES +# check_check_sub.c +# check_check_master.c +# check_check_log.c +# check_check_fork.c +# check_check_export_main.c +# ) +# set(CHECK_CHECK_EXPORT_HEADERS check_check.h) +# add_executable(check_check_export +# ${CHECK_CHECK_EXPORT_HEADERS} +# ${CHECK_CHECK_EXPORT_SOURCES}) +# target_link_libraries(check_check_export check) + +# set(EX_OUTPUT_SOURCES ex_output.c) +# add_executable(ex_output ${EX_OUTPUT_SOURCES}) +# target_link_libraries(ex_output check) + +# set(CHECK_NOFORK_SOURCES check_nofork.c) +# add_executable(check_nofork ${CHECK_NOFORK_SOURCES}) +# target_link_libraries(check_nofork check) + +# set(CHECK_NOFORK_TEARDOWN_SOURCES check_nofork_teardown.c) +# add_executable(check_nofork_teardown ${CHECK_NOFORK_TEARDOWN_SOURCES}) +# target_link_libraries(check_nofork_teardown check) + +# set(CHECK_SET_MAX_MSG_SIZE_SOURCES check_set_max_msg_size.c) +# add_executable(check_set_max_msg_size ${CHECK_SET_MAX_MSG_SIZE_SOURCES}) +# target_link_libraries(check_set_max_msg_size check) From 2e42216ddead12e838d1267f9693f65c68ab1cd3 Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sun, 1 Nov 2020 00:14:41 -0400 Subject: [PATCH 2/9] Re-enabled all tests --- CMakeLists.txt | 9 ++++----- tests/CMakeLists.txt | 29 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ffe0e44f..b64d3c6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -167,7 +167,9 @@ ck_check_include_file("unistd.h" HAVE_UNISTD_H) ck_check_include_file("pthread.h" HAVE_PTHREAD) # check if we have windows.h on native windows environments -ck_check_include_file("windows.h" HAVE_WINDOWS_H) +IF(WIN32) + ck_check_include_file("windows.h" HAVE_WINDOWS_H) +ENDIF() ############################################################################### # Check functions @@ -263,9 +265,6 @@ FIND_PACKAGE(Threads IF(Threads_FOUND AND CMAKE_USE_PTHREADS_INIT) SET(HAVE_PTHREAD 1) - - # add_definitions("-pthread") - # add_link_options("-pthread") ENDIF() MESSAGE(STATUS "Threads library found: ${Threads_FOUND}") @@ -534,7 +533,7 @@ add_subdirectory(checkmk) if(BUILD_TESTING AND NOT THIS_IS_SUBPROJECT) add_subdirectory(tests) add_test(NAME check_check COMMAND check_check) - #add_test(NAME check_check_export COMMAND check_check_export) + add_test(NAME check_check_export COMMAND check_check_export) # Only offer to run shell scripts if we may have a working interpreter if(UNIX OR MINGW OR MSYS) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index e865119c..d220c4fc 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -39,8 +39,37 @@ ADD_EXECUTABLE(check_check check_list.c ) +ADD_EXECUTABLE(check_check_export + check_check_sub.c + check_check_master.c + check_check_log.c + check_check_fork.c + check_check_export_main.c +) + +ADD_EXECUTABLE(ex_output + ex_output.c +) + +ADD_EXECUTABLE(check_nofork + check_nofork.c +) + +ADD_EXECUTABLE(check_nofork_teardown + check_nofork_teardown.c +) + +ADD_EXECUTABLE(check_set_max_msg_size + check_set_max_msg_size.c +) + SET(CHECK_TESTS check_check + check_check_export + ex_output + check_nofork + check_nofork_teardown + check_set_max_msg_size ) SET_TARGET_PROPERTIES(${CHECK_TESTS} From f36f57f82bafa8fcf79203344551d4f82f093872 Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sun, 1 Nov 2020 01:13:08 -0400 Subject: [PATCH 3/9] Added compilation options for MSVC --- lib/CMakeLists.txt | 7 +++++++ src/CMakeLists.txt | 14 ++++++++++++++ tests/CMakeLists.txt | 7 +++++++ 3 files changed, 28 insertions(+) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 325f25bf..2a089323 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -78,6 +78,13 @@ TARGET_COMPILE_OPTIONS(compat # option. # $<$,$,10.1.0>,$>:-fanalyzer> + + #################################################### + # MSVC Options + #################################################### + # + $<$,$>:/Od /RTC1 /GS /Gy /Zi /analyze:512 /sdl /TC /Wall> + $<$,$>:/O2 /GF /Gy /Qpar /Qfast_transcendentals /TC> ) TARGET_COMPILE_DEFINITIONS(compat diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c57e8fe5..f9f70252 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -100,6 +100,13 @@ TARGET_COMPILE_OPTIONS(check # option. # $<$,$,10.1.0>,$>:-fanalyzer> + + #################################################### + # MSVC Options + #################################################### + # + $<$,$>:/Od /RTC1 /GS /Gy /Zi /analyze:512 /sdl /TC /Wall> + $<$,$>:/O2 /GF /Gy /Qpar /Qfast_transcendentals /TC> ) TARGET_COMPILE_DEFINITIONS(check @@ -204,6 +211,13 @@ TARGET_COMPILE_OPTIONS(checkShared # option. # $<$,$,10.1.0>,$>:-fanalyzer> + + #################################################### + # MSVC Options + #################################################### + # + $<$,$>:/Od /RTC1 /GS /Gy /Zi /analyze:512 /sdl /TC /Wall> + $<$,$>:/O2 /GF /Gy /Qpar /Qfast_transcendentals /TC> ) TARGET_COMPILE_DEFINITIONS(checkShared diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d220c4fc..5d73465d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -114,6 +114,13 @@ FOREACH(CHECK_TEST ${CHECK_TESTS}) # this option. # $<$,$,10.1.0>,$>:-fanalyzer> + + ################################################ + # MSVC Options + ################################################ + # + $<$,$>:/Od /RTC1 /GS /Gy /Zi /analyze:512 /sdl /TC /Wall> + $<$,$>:/O2 /GF /Gy /Qpar /Qfast_transcendentals /TC> ) TARGET_COMPILE_DEFINITIONS(${CHECK_TEST} From df85211a08b71db08069a89fa104517a3bb994d7 Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sun, 1 Nov 2020 14:32:25 -0500 Subject: [PATCH 4/9] Add compilation definitions to build targets --- lib/CMakeLists.txt | 16 ++++++++++++++++ src/CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ tests/CMakeLists.txt | 16 ++++++++++++++++ 3 files changed, 64 insertions(+) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 2a089323..891a3028 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -90,6 +90,22 @@ TARGET_COMPILE_OPTIONS(compat TARGET_COMPILE_DEFINITIONS(compat PUBLIC $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> + $<$:HAVE_SYS_TYPES_H> + $<$:HAVE_ERRNO_H> + $<$:HAVE_INTTYPES_H> + $<$:HAVE_LIMITS_H> + $<$:HAVE_REGEX_H> + $<$:HAVE_SIGNAL_H> + $<$:HAVE_STDARG_H> + $<$:HAVE_STDINT_H> + $<$:HAVE_STDLIB_H> + $<$:HAVE_STRING_H> + $<$:HAVE_STRINGS_H> + $<$:HAVE_SYS_TIME_H> + $<$:HAVE_TIME_H> + $<$:HAVE_UNISTD_H> + $<$:HAVE_PTHREAD> + $<$:HAVE_WINDOWS_H> ) TARGET_INCLUDE_DIRECTORIES(compat diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 37ddf165..99dbbb5c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -112,6 +112,22 @@ TARGET_COMPILE_OPTIONS(check TARGET_COMPILE_DEFINITIONS(check PUBLIC $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> + $<$:HAVE_SYS_TYPES_H> + $<$:HAVE_ERRNO_H> + $<$:HAVE_INTTYPES_H> + $<$:HAVE_LIMITS_H> + $<$:HAVE_REGEX_H> + $<$:HAVE_SIGNAL_H> + $<$:HAVE_STDARG_H> + $<$:HAVE_STDINT_H> + $<$:HAVE_STDLIB_H> + $<$:HAVE_STRING_H> + $<$:HAVE_STRINGS_H> + $<$:HAVE_SYS_TIME_H> + $<$:HAVE_TIME_H> + $<$:HAVE_UNISTD_H> + $<$:HAVE_PTHREAD> + $<$:HAVE_WINDOWS_H> ) TARGET_LINK_LIBRARIES(check @@ -223,6 +239,22 @@ TARGET_COMPILE_OPTIONS(checkShared TARGET_COMPILE_DEFINITIONS(checkShared PUBLIC $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> + $<$:HAVE_SYS_TYPES_H> + $<$:HAVE_ERRNO_H> + $<$:HAVE_INTTYPES_H> + $<$:HAVE_LIMITS_H> + $<$:HAVE_REGEX_H> + $<$:HAVE_SIGNAL_H> + $<$:HAVE_STDARG_H> + $<$:HAVE_STDINT_H> + $<$:HAVE_STDLIB_H> + $<$:HAVE_STRING_H> + $<$:HAVE_STRINGS_H> + $<$:HAVE_SYS_TIME_H> + $<$:HAVE_TIME_H> + $<$:HAVE_UNISTD_H> + $<$:HAVE_PTHREAD> + $<$:HAVE_WINDOWS_H> PRIVATE $<$: "CK_DLL_EXP=_declspec(dllexport)" > INTERFACE diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 5d73465d..e5b75c9b 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -127,6 +127,22 @@ FOREACH(CHECK_TEST ${CHECK_TESTS}) PUBLIC $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> $<$:MEMORY_LEAKING_TESTS_ENABLED=1> + $<$:HAVE_SYS_TYPES_H> + $<$:HAVE_ERRNO_H> + $<$:HAVE_INTTYPES_H> + $<$:HAVE_LIMITS_H> + $<$:HAVE_REGEX_H> + $<$:HAVE_SIGNAL_H> + $<$:HAVE_STDARG_H> + $<$:HAVE_STDINT_H> + $<$:HAVE_STDLIB_H> + $<$:HAVE_STRING_H> + $<$:HAVE_STRINGS_H> + $<$:HAVE_SYS_TIME_H> + $<$:HAVE_TIME_H> + $<$:HAVE_UNISTD_H> + $<$:HAVE_PTHREAD> + $<$:HAVE_WINDOWS_H> ) TARGET_INCLUDE_DIRECTORIES(${CHECK_TEST} PUBLIC From 5d7f423584a0ce246d13b634e135745890e3d303 Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sun, 1 Nov 2020 14:37:44 -0500 Subject: [PATCH 5/9] Add compilation definitions for functions --- lib/CMakeLists.txt | 21 +++++++++++++++++++++ src/CMakeLists.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ tests/CMakeLists.txt | 21 +++++++++++++++++++++ 3 files changed, 85 insertions(+) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 891a3028..8ba37991 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -106,6 +106,27 @@ TARGET_COMPILE_DEFINITIONS(compat $<$:HAVE_UNISTD_H> $<$:HAVE_PTHREAD> $<$:HAVE_WINDOWS_H> + $<$:HAVE_FORK> + $<$:HAVE_GETLINE> + $<$:HAVE_GETPID> + $<$:HAVE_GETTIMEOFDAY> + $<$:HAVE_DECL_LOCALTIME_R> + $<$:HAVE_MALLOC> + $<$:HAVE_MKSTEMP> + $<$:HAVE_REALLOC> + $<$:HAVE_DECL_SETENV> + $<$:HAVE_SIGACTION> + $<$:HAVE_DECL_STRDUP> + $<$:HAVE_DECL_STRSIGNAL> + $<$:HAVE__GETPID> + $<$:HAVE__STRDUP> + $<$:HAVE_DECL_ALARM> + $<$:HAVE_INIT_ONCE_BEGIN_INITIALIZE> + $<$:HAVE_INIT_ONCE_COMPLETE> + $<$:HAVE_REGCOMP> + $<$:HAVE_REGEXEC> + $<$:HAVE_SNPRINTF_FUNCTION> + $<$:HAVE_VSNPRINTF_FUNCTION> ) TARGET_INCLUDE_DIRECTORIES(compat diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 99dbbb5c..be19ab3c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -128,6 +128,27 @@ TARGET_COMPILE_DEFINITIONS(check $<$:HAVE_UNISTD_H> $<$:HAVE_PTHREAD> $<$:HAVE_WINDOWS_H> + $<$:HAVE_FORK> + $<$:HAVE_GETLINE> + $<$:HAVE_GETPID> + $<$:HAVE_GETTIMEOFDAY> + $<$:HAVE_DECL_LOCALTIME_R> + $<$:HAVE_MALLOC> + $<$:HAVE_MKSTEMP> + $<$:HAVE_REALLOC> + $<$:HAVE_DECL_SETENV> + $<$:HAVE_SIGACTION> + $<$:HAVE_DECL_STRDUP> + $<$:HAVE_DECL_STRSIGNAL> + $<$:HAVE__GETPID> + $<$:HAVE__STRDUP> + $<$:HAVE_DECL_ALARM> + $<$:HAVE_INIT_ONCE_BEGIN_INITIALIZE> + $<$:HAVE_INIT_ONCE_COMPLETE> + $<$:HAVE_REGCOMP> + $<$:HAVE_REGEXEC> + $<$:HAVE_SNPRINTF_FUNCTION> + $<$:HAVE_VSNPRINTF_FUNCTION> ) TARGET_LINK_LIBRARIES(check @@ -238,6 +259,7 @@ TARGET_COMPILE_OPTIONS(checkShared TARGET_COMPILE_DEFINITIONS(checkShared PUBLIC + $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> $<$:HAVE_SYS_TYPES_H> $<$:HAVE_ERRNO_H> @@ -255,6 +277,27 @@ TARGET_COMPILE_DEFINITIONS(checkShared $<$:HAVE_UNISTD_H> $<$:HAVE_PTHREAD> $<$:HAVE_WINDOWS_H> + $<$:HAVE_FORK> + $<$:HAVE_GETLINE> + $<$:HAVE_GETPID> + $<$:HAVE_GETTIMEOFDAY> + $<$:HAVE_DECL_LOCALTIME_R> + $<$:HAVE_MALLOC> + $<$:HAVE_MKSTEMP> + $<$:HAVE_REALLOC> + $<$:HAVE_DECL_SETENV> + $<$:HAVE_SIGACTION> + $<$:HAVE_DECL_STRDUP> + $<$:HAVE_DECL_STRSIGNAL> + $<$:HAVE__GETPID> + $<$:HAVE__STRDUP> + $<$:HAVE_DECL_ALARM> + $<$:HAVE_INIT_ONCE_BEGIN_INITIALIZE> + $<$:HAVE_INIT_ONCE_COMPLETE> + $<$:HAVE_REGCOMP> + $<$:HAVE_REGEXEC> + $<$:HAVE_SNPRINTF_FUNCTION> + $<$:HAVE_VSNPRINTF_FUNCTION> PRIVATE $<$: "CK_DLL_EXP=_declspec(dllexport)" > INTERFACE diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index e5b75c9b..dfa1868f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -143,6 +143,27 @@ FOREACH(CHECK_TEST ${CHECK_TESTS}) $<$:HAVE_UNISTD_H> $<$:HAVE_PTHREAD> $<$:HAVE_WINDOWS_H> + $<$:HAVE_FORK> + $<$:HAVE_GETLINE> + $<$:HAVE_GETPID> + $<$:HAVE_GETTIMEOFDAY> + $<$:HAVE_DECL_LOCALTIME_R> + $<$:HAVE_MALLOC> + $<$:HAVE_MKSTEMP> + $<$:HAVE_REALLOC> + $<$:HAVE_DECL_SETENV> + $<$:HAVE_SIGACTION> + $<$:HAVE_DECL_STRDUP> + $<$:HAVE_DECL_STRSIGNAL> + $<$:HAVE__GETPID> + $<$:HAVE__STRDUP> + $<$:HAVE_DECL_ALARM> + $<$:HAVE_INIT_ONCE_BEGIN_INITIALIZE> + $<$:HAVE_INIT_ONCE_COMPLETE> + $<$:HAVE_REGCOMP> + $<$:HAVE_REGEXEC> + $<$:HAVE_SNPRINTF_FUNCTION> + $<$:HAVE_VSNPRINTF_FUNCTION> ) TARGET_INCLUDE_DIRECTORIES(${CHECK_TEST} PUBLIC From 82ab715db99faebe9cad7cea41193a6fc5004943 Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sun, 1 Nov 2020 14:41:22 -0500 Subject: [PATCH 6/9] Fixed error with HAVE_GETTIMEOFDAY --- lib/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 8ba37991..12a59cd1 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -23,7 +23,7 @@ ADD_LIBRARY(compat STATIC libcompat.c $<$>:clock_gettime.c timer_create.c timer_delete.c timer_settime.c> $<$>:getline.c> - $<$>:gettimeofday.c> + $<$>:gettimeofday.c> $<$>:localtime_r.c> $<$>:malloc.c> $<$>:realloc.c> From 694447520a5e840e2358a9ea48fcf02e2847b8d7 Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sun, 1 Nov 2020 15:01:36 -0500 Subject: [PATCH 7/9] Removed superfluous preprocessor definition directives The build error these preprocessor definition directives were meant to solve was due to a mispelling of a preprocessor macro that has now been fixed. The HAVE_GETTIMEOFDAY macro was erroneously written as HAVE_GETTIMEOFDATE yesterday, which triggered a build error on FreeBSD 11.4. --- lib/CMakeLists.txt | 37 ---------------------- src/CMakeLists.txt | 75 -------------------------------------------- tests/CMakeLists.txt | 37 ---------------------- 3 files changed, 149 deletions(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 12a59cd1..19075720 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -90,43 +90,6 @@ TARGET_COMPILE_OPTIONS(compat TARGET_COMPILE_DEFINITIONS(compat PUBLIC $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> - $<$:HAVE_SYS_TYPES_H> - $<$:HAVE_ERRNO_H> - $<$:HAVE_INTTYPES_H> - $<$:HAVE_LIMITS_H> - $<$:HAVE_REGEX_H> - $<$:HAVE_SIGNAL_H> - $<$:HAVE_STDARG_H> - $<$:HAVE_STDINT_H> - $<$:HAVE_STDLIB_H> - $<$:HAVE_STRING_H> - $<$:HAVE_STRINGS_H> - $<$:HAVE_SYS_TIME_H> - $<$:HAVE_TIME_H> - $<$:HAVE_UNISTD_H> - $<$:HAVE_PTHREAD> - $<$:HAVE_WINDOWS_H> - $<$:HAVE_FORK> - $<$:HAVE_GETLINE> - $<$:HAVE_GETPID> - $<$:HAVE_GETTIMEOFDAY> - $<$:HAVE_DECL_LOCALTIME_R> - $<$:HAVE_MALLOC> - $<$:HAVE_MKSTEMP> - $<$:HAVE_REALLOC> - $<$:HAVE_DECL_SETENV> - $<$:HAVE_SIGACTION> - $<$:HAVE_DECL_STRDUP> - $<$:HAVE_DECL_STRSIGNAL> - $<$:HAVE__GETPID> - $<$:HAVE__STRDUP> - $<$:HAVE_DECL_ALARM> - $<$:HAVE_INIT_ONCE_BEGIN_INITIALIZE> - $<$:HAVE_INIT_ONCE_COMPLETE> - $<$:HAVE_REGCOMP> - $<$:HAVE_REGEXEC> - $<$:HAVE_SNPRINTF_FUNCTION> - $<$:HAVE_VSNPRINTF_FUNCTION> ) TARGET_INCLUDE_DIRECTORIES(compat diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index be19ab3c..37ddf165 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -112,43 +112,6 @@ TARGET_COMPILE_OPTIONS(check TARGET_COMPILE_DEFINITIONS(check PUBLIC $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> - $<$:HAVE_SYS_TYPES_H> - $<$:HAVE_ERRNO_H> - $<$:HAVE_INTTYPES_H> - $<$:HAVE_LIMITS_H> - $<$:HAVE_REGEX_H> - $<$:HAVE_SIGNAL_H> - $<$:HAVE_STDARG_H> - $<$:HAVE_STDINT_H> - $<$:HAVE_STDLIB_H> - $<$:HAVE_STRING_H> - $<$:HAVE_STRINGS_H> - $<$:HAVE_SYS_TIME_H> - $<$:HAVE_TIME_H> - $<$:HAVE_UNISTD_H> - $<$:HAVE_PTHREAD> - $<$:HAVE_WINDOWS_H> - $<$:HAVE_FORK> - $<$:HAVE_GETLINE> - $<$:HAVE_GETPID> - $<$:HAVE_GETTIMEOFDAY> - $<$:HAVE_DECL_LOCALTIME_R> - $<$:HAVE_MALLOC> - $<$:HAVE_MKSTEMP> - $<$:HAVE_REALLOC> - $<$:HAVE_DECL_SETENV> - $<$:HAVE_SIGACTION> - $<$:HAVE_DECL_STRDUP> - $<$:HAVE_DECL_STRSIGNAL> - $<$:HAVE__GETPID> - $<$:HAVE__STRDUP> - $<$:HAVE_DECL_ALARM> - $<$:HAVE_INIT_ONCE_BEGIN_INITIALIZE> - $<$:HAVE_INIT_ONCE_COMPLETE> - $<$:HAVE_REGCOMP> - $<$:HAVE_REGEXEC> - $<$:HAVE_SNPRINTF_FUNCTION> - $<$:HAVE_VSNPRINTF_FUNCTION> ) TARGET_LINK_LIBRARIES(check @@ -260,44 +223,6 @@ TARGET_COMPILE_OPTIONS(checkShared TARGET_COMPILE_DEFINITIONS(checkShared PUBLIC $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> - $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> - $<$:HAVE_SYS_TYPES_H> - $<$:HAVE_ERRNO_H> - $<$:HAVE_INTTYPES_H> - $<$:HAVE_LIMITS_H> - $<$:HAVE_REGEX_H> - $<$:HAVE_SIGNAL_H> - $<$:HAVE_STDARG_H> - $<$:HAVE_STDINT_H> - $<$:HAVE_STDLIB_H> - $<$:HAVE_STRING_H> - $<$:HAVE_STRINGS_H> - $<$:HAVE_SYS_TIME_H> - $<$:HAVE_TIME_H> - $<$:HAVE_UNISTD_H> - $<$:HAVE_PTHREAD> - $<$:HAVE_WINDOWS_H> - $<$:HAVE_FORK> - $<$:HAVE_GETLINE> - $<$:HAVE_GETPID> - $<$:HAVE_GETTIMEOFDAY> - $<$:HAVE_DECL_LOCALTIME_R> - $<$:HAVE_MALLOC> - $<$:HAVE_MKSTEMP> - $<$:HAVE_REALLOC> - $<$:HAVE_DECL_SETENV> - $<$:HAVE_SIGACTION> - $<$:HAVE_DECL_STRDUP> - $<$:HAVE_DECL_STRSIGNAL> - $<$:HAVE__GETPID> - $<$:HAVE__STRDUP> - $<$:HAVE_DECL_ALARM> - $<$:HAVE_INIT_ONCE_BEGIN_INITIALIZE> - $<$:HAVE_INIT_ONCE_COMPLETE> - $<$:HAVE_REGCOMP> - $<$:HAVE_REGEXEC> - $<$:HAVE_SNPRINTF_FUNCTION> - $<$:HAVE_VSNPRINTF_FUNCTION> PRIVATE $<$: "CK_DLL_EXP=_declspec(dllexport)" > INTERFACE diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index dfa1868f..5d73465d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -127,43 +127,6 @@ FOREACH(CHECK_TEST ${CHECK_TESTS}) PUBLIC $<$:_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS> $<$:MEMORY_LEAKING_TESTS_ENABLED=1> - $<$:HAVE_SYS_TYPES_H> - $<$:HAVE_ERRNO_H> - $<$:HAVE_INTTYPES_H> - $<$:HAVE_LIMITS_H> - $<$:HAVE_REGEX_H> - $<$:HAVE_SIGNAL_H> - $<$:HAVE_STDARG_H> - $<$:HAVE_STDINT_H> - $<$:HAVE_STDLIB_H> - $<$:HAVE_STRING_H> - $<$:HAVE_STRINGS_H> - $<$:HAVE_SYS_TIME_H> - $<$:HAVE_TIME_H> - $<$:HAVE_UNISTD_H> - $<$:HAVE_PTHREAD> - $<$:HAVE_WINDOWS_H> - $<$:HAVE_FORK> - $<$:HAVE_GETLINE> - $<$:HAVE_GETPID> - $<$:HAVE_GETTIMEOFDAY> - $<$:HAVE_DECL_LOCALTIME_R> - $<$:HAVE_MALLOC> - $<$:HAVE_MKSTEMP> - $<$:HAVE_REALLOC> - $<$:HAVE_DECL_SETENV> - $<$:HAVE_SIGACTION> - $<$:HAVE_DECL_STRDUP> - $<$:HAVE_DECL_STRSIGNAL> - $<$:HAVE__GETPID> - $<$:HAVE__STRDUP> - $<$:HAVE_DECL_ALARM> - $<$:HAVE_INIT_ONCE_BEGIN_INITIALIZE> - $<$:HAVE_INIT_ONCE_COMPLETE> - $<$:HAVE_REGCOMP> - $<$:HAVE_REGEXEC> - $<$:HAVE_SNPRINTF_FUNCTION> - $<$:HAVE_VSNPRINTF_FUNCTION> ) TARGET_INCLUDE_DIRECTORIES(${CHECK_TEST} PUBLIC From e3401d553ce6be4900524432f81a4ec9c887e026 Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sun, 1 Nov 2020 15:10:07 -0500 Subject: [PATCH 8/9] Removed already-reimplemented commented-out code --- CMakeLists.txt | 15 ---- lib/CMakeLists.txt | 58 ------------- src/CMakeLists.txt | 189 ------------------------------------------- tests/CMakeLists.txt | 74 ----------------- 4 files changed, 336 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b64d3c6a..ea9823d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -426,9 +426,6 @@ endif (HAVE_SUBUNIT) # Param @ONLY not used on purpose! CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/config.h.in config.h) -# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.h.in -# ${CMAKE_CURRENT_BINARY_DIR}/config.h) - # Param @ONLY not used on purpose! include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) add_definitions(-DHAVE_CONFIG_H) set(CONFIG_HEADER ${CMAKE_CURRENT_BINARY_DIR}/config.h) @@ -457,16 +454,6 @@ IF(NOT THIS_IS_SUBPROJECT) ) ENDIF() -# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_stdint.h.in -# ${CMAKE_CURRENT_BINARY_DIR}/check_stdint.h @ONLY) - - -# if(NOT THIS_IS_SUBPROJECT) -# install( -# FILES ${CMAKE_CURRENT_BINARY_DIR}/check_stdint.h -# DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -# endif() - ############################################################################### # Generate "check.pc", the package config (pkgconfig) file for libtool if(NOT THIS_IS_SUBPROJECT) @@ -612,5 +599,3 @@ if(NOT THIS_IS_SUBPROJECT) endif() # vim: shiftwidth=2:softtabstop=2:tabstop=2:expandtab:autoindent - -MESSAGE(STATUS "CMake Version: ${CMAKE_VERSION}") diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 19075720..d74e300f 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -97,61 +97,3 @@ TARGET_INCLUDE_DIRECTORIES(compat ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) - -# set(SOURCES libcompat.c) - -# set(SOURCES ${SOURCES} fpclassify.c) - -# if (NOT HAVE_LIBRT) -# set(SOURCES ${SOURCES} clock_gettime.c) -# set(SOURCES ${SOURCES} timer_create.c) -# set(SOURCES ${SOURCES} timer_delete.c) -# set(SOURCES ${SOURCES} timer_settime.c) -# endif(NOT HAVE_LIBRT) - -# if(NOT HAVE_GETLINE) -# set(SOURCES ${SOURCES} getline.c) -# endif(NOT HAVE_GETLINE) - -# if(NOT HAVE_GETTIMEOFDAY) -# set(SOURCES ${SOURCES} gettimeofday.c) -# endif(NOT HAVE_GETTIMEOFDAY) - -# if(NOT HAVE_DECL_LOCALTIME_R) -# set(SOURCES ${SOURCES} localtime_r.c) -# endif(NOT HAVE_DECL_LOCALTIME_R) - -# if(NOT HAVE_MALLOC) -# set(SOURCES ${SOURCES} malloc.c) -# endif(NOT HAVE_MALLOC) - -# if(NOT HAVE_REALLOC) -# set(SOURCES ${SOURCES} realloc.c) -# endif(NOT HAVE_REALLOC) - -# if(NOT HAVE_SNPRINTF) -# set(SOURCES ${SOURCES} snprintf.c) -# endif(NOT HAVE_SNPRINTF) - -# if(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) -# set(SOURCES ${SOURCES} strdup.c) -# endif(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) - -# if(NOT HAVE_DECL_STRSIGNAL) -# set(SOURCES ${SOURCES} strsignal.c) -# endif(NOT HAVE_DECL_STRSIGNAL) - -# if(NOT HAVE_DECL_ALARM) -# set(SOURCES ${SOURCES} alarm.c) -# endif(NOT HAVE_DECL_ALARM) - -# if (NOT HAVE_PTHREAD) -# set(SOURCES ${SOURCES} pthread_mutex.c) -# endif() - -# set(HEADERS libcompat.h) - -#add_library(compat STATIC ${SOURCES} ${HEADERS}) - -# vim: shiftwidth=2:softtabstop=2:tabstop=2:expandtab:autoindent - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 37ddf165..f3e24120 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -264,192 +264,3 @@ IF(NOT THIS_IS_SUBPROJECT) ${CMAKE_INSTALL_INCLUDEDIR} ) ENDIF() - -# set(SOURCES -# check.c -# check_error.c -# check_list.c -# check_log.c -# check_msg.c -# check_pack.c -# check_print.c -# check_run.c -# check_str.c) - -# set(HEADERS -# ${CONFIG_HEADER} -# ${CMAKE_CURRENT_BINARY_DIR}/check.h -# check.h.in -# check_error.h -# check_impl.h -# check_list.h -# check_log.h -# check_msg.h -# check_pack.h -# check_print.h -# check_str.h) - -# configure_file(check.h.in check.h @ONLY) - -# To maintain compatibility with the Autotools installation -# we specifically create both shared and static libraries -# as that is what Autotools script has been doing. -# Normally CMake would create the system's native default library type. - -# add_library(check STATIC ${SOURCES} ${HEADERS}) -# add_library(Check::check ALIAS check) - - -# We would like to create an OBJECT library but currently they are -# too unreliable and cumbersome, -# especially with target_link_libraries and install(EXPORT... -# https://stackoverflow.com/questions/38832528/transitive-target-include-directories-on-object-libraries -# So we instead do the work twice. -# add_library(checkShared SHARED ${SOURCES} ${HEADERS}) -#add_library(Check::checkShared ALIAS checkShared) - -# Add parts of libcompat as required - -# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) -#target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/fpclassify.c) - -# if (NOT HAVE_LIBRT) -# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) -# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) -# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) -# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/clock_gettime.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_create.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_delete.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/timer_settime.c) -# endif(NOT HAVE_LIBRT) - -# if(NOT HAVE_GETLINE) -# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/getline.c) -# endif(NOT HAVE_GETLINE) - -# if(NOT HAVE_GETTIMEOFDAY) -# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/gettimeofday.c) -# endif(NOT HAVE_GETTIMEOFDAY) - -# if(NOT HAVE_DECL_LOCALTIME_R) -# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/localtime_r.c) -# endif(NOT HAVE_DECL_LOCALTIME_R) - -# if(NOT HAVE_MALLOC) -# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/malloc.c) -# endif(NOT HAVE_MALLOC) - -# if(NOT HAVE_REALLOC) -# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/realloc.c) -# endif(NOT HAVE_REALLOC) - -# if(NOT HAVE_SNPRINTF) -# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) -# endif(NOT HAVE_SNPRINTF) - -# if(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) -# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strdup.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/snprintf.c) -# endif(NOT HAVE_DECL_STRDUP AND NOT HAVE__STRDUP) - -# if(NOT HAVE_DECL_STRSIGNAL) -# target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/strsignal.c) -# endif(NOT HAVE_DECL_STRSIGNAL) - -# if(NOT HAVE_DECL_ALARM) -# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/alarm.c) -# endif(NOT HAVE_DECL_ALARM) - -# if(NOT HAVE_PTHREAD) -# # target_sources(check PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) -# # target_sources(checkShared PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../lib/pthread_mutex.c) -# endif() - -# Include libraries if available -# if (HAVE_LIBM) -# target_link_libraries(check PUBLIC m) -# # target_link_libraries(checkShared PUBLIC m) -# endif (HAVE_LIBM) -# if (HAVE_LIBRT) -# target_link_libraries(check PUBLIC rt) -# # target_link_libraries(checkShared PUBLIC rt) -# endif (HAVE_LIBRT) -# if (HAVE_SUBUNIT) -# target_link_libraries(check PUBLIC subunit) -# # target_link_libraries(checkShared PUBLIC subunit) -# endif (HAVE_SUBUNIT) - -# if(MSVC) -# target_compile_definitions(checkShared -# PRIVATE "CK_DLL_EXP=_declspec(dllexport)" -# INTERFACE "CK_DLL_EXP=_declspec(dllimport)" -# ) -# endif (MSVC) - -# More configuration for exporting - -# set(LIBRARY_OUTPUT_NAME "check") -# list(APPEND public_headers "${CMAKE_CURRENT_BINARY_DIR}/check.h") -# list(APPEND public_headers "${CMAKE_CURRENT_BINARY_DIR}/../check_stdint.h") - -# set_target_properties(check PROPERTIES -# OUTPUT_NAME ${LIBRARY_OUTPUT_NAME} -# PUBLIC_HEADER "${public_headers}" -# ) - -# if (MSVC) -# # "On Windows you should probably give each library a different name, -# # since there is a ".lib" file for both shared and static". -# # https://stackoverflow.com/a/2152157/4716395 -# # "Dynamic-Link Library" (DLL) is Microsoft terminology. -# # So we call it this: -# set(LIBRARY_OUTPUT_NAME "checkDynamic") -# endif (MSVC) -# set_target_properties(checkShared PROPERTIES -# OUTPUT_NAME ${LIBRARY_OUTPUT_NAME} -# VERSION ${PROJECT_VERSION} -# SOVERSION ${PROJECT_VERSION_MAJOR} -# PUBLIC_HEADER "${public_headers}" -# ) -# target_include_directories(check -# PUBLIC -# $ -# $ -# $ -# ) -# target_include_directories(checkShared -# PUBLIC -# $ -# $ -# $ -# ) - -# IF(NOT THIS_IS_SUBPROJECT) -# INSTALL( -# TARGETS -# check -# checkShared -# EXPORT -# check-targets -# ARCHIVE DESTINATION -# ${CMAKE_INSTALL_LIBDIR} -# LIBRARY DESTINATION -# ${CMAKE_INSTALL_LIBDIR} -# RUNTIME DESTINATION -# ${CMAKE_INSTALL_BINDIR} -# PUBLIC_HEADER DESTINATION -# ${CMAKE_INSTALL_INCLUDEDIR} -# ) -# ENDIF() - -# vim: shiftwidth=2:softtabstop=2:tabstop=2:expandtab:autoindent - diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 5d73465d..d7bd1754 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -141,77 +141,3 @@ FOREACH(CHECK_TEST ${CHECK_TESTS}) check ) ENDFOREACH() - -# include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../src) -# # Enable finding check.h -# include_directories(${CMAKE_CURRENT_BINARY_DIR}/../src) - -# # For the test_vars.in script, to give the unit test shell script -# # runners the location of the source files -# set(srcdir "${CMAKE_CURRENT_SOURCE_DIR}") - -# if(WIN32) -# # CMake uses Unix slashes for everything, but the tests that -# # read srcdir expect platform specific slashes. There are two -# # slashes because the shell scripts will consume srcdir. -# string(REPLACE "/" "\\\\" srcdir "${srcdir}") -# set(EXEEXT ".exe") -# set(IS_MSVC "1") -# endif(WIN32) - -# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test_vars.in -# ${CMAKE_CURRENT_BINARY_DIR}/test_vars @ONLY) - -# if(ENABLE_MEMORY_LEAKING_TESTS) -# add_definitions(-DMEMORY_LEAKING_TESTS_ENABLED=1) -# else(ENABLE_MEMORY_LEAKING_TESTS) -# add_definitions(-DMEMORY_LEAKING_TESTS_ENABLED=0) -# endif(ENABLE_MEMORY_LEAKING_TESTS) - -# set(CHECK_CHECK_SOURCES -# check_check_exit.c -# check_check_fixture.c -# check_check_fork.c -# check_check_limit.c -# check_check_log.c -# check_check_log_internal.c -# check_check_main.c -# check_check_master.c -# check_check_msg.c -# check_check_pack.c -# check_check_selective.c -# check_check_sub.c -# check_check_tags.c -# check_list.c) -# set(CHECK_CHECK_HEADERS check_check.h) -# add_executable(check_check ${CHECK_CHECK_HEADERS} ${CHECK_CHECK_SOURCES}) -# target_link_libraries(check_check check) - -# set(CHECK_CHECK_EXPORT_SOURCES -# check_check_sub.c -# check_check_master.c -# check_check_log.c -# check_check_fork.c -# check_check_export_main.c -# ) -# set(CHECK_CHECK_EXPORT_HEADERS check_check.h) -# add_executable(check_check_export -# ${CHECK_CHECK_EXPORT_HEADERS} -# ${CHECK_CHECK_EXPORT_SOURCES}) -# target_link_libraries(check_check_export check) - -# set(EX_OUTPUT_SOURCES ex_output.c) -# add_executable(ex_output ${EX_OUTPUT_SOURCES}) -# target_link_libraries(ex_output check) - -# set(CHECK_NOFORK_SOURCES check_nofork.c) -# add_executable(check_nofork ${CHECK_NOFORK_SOURCES}) -# target_link_libraries(check_nofork check) - -# set(CHECK_NOFORK_TEARDOWN_SOURCES check_nofork_teardown.c) -# add_executable(check_nofork_teardown ${CHECK_NOFORK_TEARDOWN_SOURCES}) -# target_link_libraries(check_nofork_teardown check) - -# set(CHECK_SET_MAX_MSG_SIZE_SOURCES check_set_max_msg_size.c) -# add_executable(check_set_max_msg_size ${CHECK_SET_MAX_MSG_SIZE_SOURCES}) -# target_link_libraries(check_set_max_msg_size check) From 7a34119dd7cb1cce713e9a8d47035b11151067f8 Mon Sep 17 00:00:00 2001 From: Jose Fernando Lopez Fernandez Date: Sun, 1 Nov 2020 15:18:51 -0500 Subject: [PATCH 9/9] Finish removing commented out code --- CMakeLists.txt | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ea9823d1..b6885354 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,12 +77,6 @@ set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT # Provides install directory variables as defined by the GNU Coding Standards. include(GNUInstallDirs) -############################################################################### -# Follow ISO C99 standard -# set(CMAKE_C_STANDARD 99) -# set(CMAKE_C_STANDARD_REQUIRED ON) -# set(CMAKE_C_EXTENSIONS ON) # Use GNU extensions and POSIX standard - ############################################################################### # Option option(CHECK_ENABLE_TESTS @@ -108,22 +102,6 @@ if(CHECK_ENABLE_TIMEOUT_TESTS) else(CHECK_ENABLE_TIMEOUT_TESTS) add_definitions(-DTIMEOUT_TESTS_ENABLED=0) endif(CHECK_ENABLE_TIMEOUT_TESTS) -############################################################################### -# Check system and architecture -# if(WIN32) -# if(MSVC60) -# set(WINVER 0x0400) -# else() -# set(WINVER 0x0600) -# endif() -# set(_WIN32_WINNT ${WINVER}) -# endif(WIN32) - -# if(MSVC) -# add_definitions(-D_CRT_SECURE_NO_DEPRECATE) -# add_definitions(-D_CRT_SECURE_NO_WARNINGS) -# add_definitions(-D_CRT_NONSTDC_NO_WARNINGS) -# endif(MSVC) ############################################################################### include(CheckCSourceCompiles) @@ -246,14 +224,6 @@ if(HAVE_REGEX_H AND HAVE_REGCOMP AND HAVE_REGEXEC) set(ENABLE_REGEX 1) endif() -# if (HAVE_PTHREAD) -# check_c_compiler_flag("-pthread" HAVE_PTHREADS_FLAG) -# if (HAVE_PTHREADS_FLAG) -# add_definitions("-pthread") -# add_link_options("-pthread") -# endif() -# endif() - INCLUDE(FindThreads) SET(THREADS_PREFER_PTHREAD_FLAG ON)