# # Copyright (C) 2015-2015 Oleg Alexeenkov # Copyright (C) 2015-2019 Felix Weinrank # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of the project nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ################################################# # INCLUDE MODULES ################################################# include(CheckIncludeFile) ################################################# # CHECK INCLUDES ################################################# include_directories(${CMAKE_SOURCE_DIR}/usrsctplib) ################################################# # OS DEPENDENT ################################################# if (CMAKE_SYSTEM_NAME MATCHES "Linux") add_definitions(-D_GNU_SOURCE) endif () if (CMAKE_SYSTEM_NAME MATCHES "Darwin") add_definitions(-D__APPLE_USE_RFC_2292) endif () if (MSYS OR MINGW) message(STATUS "MSYS / MINGW") add_definitions(-D__USE_MINGW_ANSI_STDIO) # 0x0601 = Windows 7 API add_definitions(-DWINVER=0x0601) add_definitions(-D_WIN32_WINNT=0x0601) if (CMAKE_C_COMPILER_ID MATCHES "GNU") message(STATUS "MSYS / MINGW + GCC") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-format") endif () endif () ################################################# # MISC ################################################# find_package(Threads) ################################################# # PROGRAMS ################################################# list(APPEND check_programs chargen_server_upcall.c client.c client_upcall.c daytime_server.c daytime_server_upcall.c discard_server.c discard_server_upcall.c echo_server.c echo_server_upcall.c ekr_client.c ekr_loop.c ekr_loop_offload.c ekr_loop_upcall.c ekr_peer.c ekr_server.c http_client.c http_client_upcall.c rtcweb.c st_client.c test_libmgmt.c test_timer.c tsctp.c tsctp_upcall.c ) foreach (source_file ${check_programs}) get_filename_component(source_file_we ${source_file} NAME_WE) add_executable( ${source_file_we} ${source_file} programs_helper.c ) target_link_libraries( ${source_file_we} ${programs_link_library} ${CMAKE_THREAD_LIBS_INIT} ) endforeach ()