1 project(exec C) 2 3 cmake_minimum_required(VERSION 3.4.3) 4 5 include(CheckCCompilerFlag) 6 check_c_compiler_flag("-std=c99" C99_SUPPORTED) 7 if (C99_SUPPORTED) 8 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") 9 endif() 10 11 include(CheckFunctionExists) 12 include(CheckSymbolExists) 13 14 add_definitions(-D_GNU_SOURCE) 15 list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) 16 17 check_function_exists(execve HAVE_EXECVE) 18 check_function_exists(execv HAVE_EXECV) 19 check_function_exists(execvpe HAVE_EXECVPE) 20 check_function_exists(execvp HAVE_EXECVP) 21 check_function_exists(execvP HAVE_EXECVP2) 22 check_function_exists(exect HAVE_EXECT) 23 check_function_exists(execl HAVE_EXECL) 24 check_function_exists(execlp HAVE_EXECLP) 25 check_function_exists(execle HAVE_EXECLE) 26 check_function_exists(posix_spawn HAVE_POSIX_SPAWN) 27 check_function_exists(posix_spawnp HAVE_POSIX_SPAWNP) 28 29 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) 30 include_directories(${CMAKE_CURRENT_BINARY_DIR}) 31 32 add_executable(exec main.c) 33