Initial commit
This commit is contained in:
63
CMakeLists.txt
Normal file
63
CMakeLists.txt
Normal file
@ -0,0 +1,63 @@
|
||||
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 "")
|
||||
string(REPLACE " " ";" CFLAGS_LIST $ENV{MAKE_CFLAGS})
|
||||
foreach(X IN LISTS CFLAGS_LIST)
|
||||
message(STATUS "Using C compilation flag ${X}")
|
||||
add_compile_options(${X})
|
||||
endforeach()
|
||||
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
|
||||
)
|
Reference in New Issue
Block a user