Add function in cmake to create targets
This commit is contained in:
@@ -2,18 +2,32 @@ find_package(fmt REQUIRED)
|
||||
find_package(utf8cpp REQUIRED)
|
||||
find_package(ctre REQUIRED)
|
||||
|
||||
set(HEADERS "")
|
||||
set(SOURCES "day01.cpp")
|
||||
add_executable(day01 ${HEADERS} ${SOURCES})
|
||||
target_include_directories(day01 PUBLIC ${PROJECT_SOURCE_DIR})
|
||||
target_compile_features(day01 PRIVATE cxx_std_23)
|
||||
target_link_libraries(day01
|
||||
PRIVATE
|
||||
${PLATFORM_LINK_LIBRARIES}
|
||||
fmt
|
||||
utf8cpp
|
||||
ctre
|
||||
function(add_day_executables)
|
||||
foreach(src IN LISTS ARGN)
|
||||
get_filename_component(name "${src}" NAME_WE)
|
||||
|
||||
add_executable(${name} "${src}")
|
||||
|
||||
target_include_directories(${name} PUBLIC "${PROJECT_SOURCE_DIR}")
|
||||
target_compile_features(${name} PRIVATE cxx_std_23)
|
||||
|
||||
target_link_libraries(${name}
|
||||
PRIVATE
|
||||
${PLATFORM_LINK_LIBRARIES}
|
||||
fmt
|
||||
utf8cpp
|
||||
ctre
|
||||
)
|
||||
|
||||
target_compile_definitions(${name} PRIVATE ${PLATFORM_DEFINITIONS})
|
||||
target_compile_options(${name} PRIVATE ${BASE_OPTIONS})
|
||||
|
||||
source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" FILES "${src}")
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
|
||||
add_day_executables(
|
||||
"day01.cpp"
|
||||
"day02.cpp"
|
||||
)
|
||||
target_compile_definitions(day01 PRIVATE ${PLATFORM_DEFINITIONS})
|
||||
target_compile_options(day01 PRIVATE ${BASE_OPTIONS})
|
||||
source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" FILES ${HEADERS} ${SOURCES})
|
||||
|
||||
Reference in New Issue
Block a user