Files
ft_ping/CMakeLists.txt

60 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.27)
project($ENV{MAKE_NAME} C)
set(CMAKE_C_STANDARD 17)
add_executable($ENV{MAKE_NAME})
if(NOT "$ENV{MAKE_CFLAGS}" STREQUAL "")
set_target_properties($ENV{MAKE_NAME} PROPERTIES COMPILE_FLAGS $ENV{MAKE_CFLAGS})
endif()
if(NOT "$ENV{MAKE_C_SRCS}" STREQUAL "")
string(REPLACE " " ";" SRCS_LIST $ENV{MAKE_C_SRCS})
foreach(X IN LISTS SRCS_LIST)
message(STATUS "Added ${X} as a C project source file")
target_sources($ENV{MAKE_NAME} PRIVATE ${X})
endforeach()
endif()
if(NOT "$ENV{MAKE_INCLUDE_DIRS}" STREQUAL "")
string(REPLACE " " ";" INCLUDES_LIST $ENV{MAKE_INCLUDE_DIRS})
foreach(X IN LISTS INCLUDES_LIST)
message(STATUS "Added ${X} to include path")
target_include_directories($ENV{MAKE_NAME} PUBLIC ${X})
endforeach()
endif()
if(NOT "$ENV{MAKE_INCLUDE_SRCS}" STREQUAL "")
string(REPLACE " " ";" SRCS_LIST $ENV{MAKE_INCLUDE_SRCS})
foreach(X IN LISTS SRCS_LIST)
message(STATUS "Added ${X} as a C project header file")
target_sources($ENV{MAKE_NAME} PRIVATE ${X})
endforeach()
endif()
if(NOT "$ENV{MAKE_SUBDIRECTORIES}" STREQUAL "")
string(REPLACE " " ";" SUBDIR_LIST $ENV{MAKE_SUBDIRECTORIES})
foreach(X IN LISTS SUBDIR_LIST)
message(STATUS "Added ${X} as a project subdirectory")
add_subdirectory(${X})
target_link_libraries($ENV{MAKE_NAME} ${X})
endforeach()
endif()
install(
TARGETS
$ENV{MAKE_NAME}
DESTINATION
$ENV{MAKE_INSTALL_DIR}
PERMISSIONS
OWNER_READ
OWNER_WRITE
OWNER_EXECUTE
SETUID
GROUP_READ
GROUP_EXECUTE
WORLD_READ
WORLD_EXECUTE
)