mirror of
https://git.gfz-potsdam.de/naaice/poet.git
synced 2025-12-15 12:28:22 +01:00
Refactor build file generation
This commit is contained in:
parent
a2f04836a4
commit
c42b335aae
@ -1,3 +1,33 @@
|
||||
|
||||
function(ADD_BENCH_TARGET TARGET POET_BENCH_LIST RT_FILES OUT_PATH)
|
||||
add_custom_target(${TARGET})
|
||||
|
||||
set(bench_install_dir share/poet/${OUT_PATH})
|
||||
foreach(BENCH_FILE ${${POET_BENCH_LIST}})
|
||||
get_filename_component(BENCH_NAME ${BENCH_FILE} NAME_WE)
|
||||
set(OUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${BENCH_NAME}.rds)
|
||||
|
||||
add_custom_command(TARGET ${TARGET}
|
||||
COMMAND $<TARGET_FILE:poet_init> -o ${OUT_FILE} -s ${CMAKE_CURRENT_SOURCE_DIR}/${BENCH_FILE}
|
||||
COMMENT "Running poet_init on ${BENCH_FILE}"
|
||||
DEPENDS poet_init
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
install(FILES ${OUT_FILE} DESTINATION ${bench_install_dir})
|
||||
endforeach(BENCH_FILE ${${POET_BENCH_LIST}})
|
||||
|
||||
# install all ADD_FILES to the same location
|
||||
install(FILES ${${RT_FILES}} DESTINATION ${bench_install_dir})
|
||||
endfunction()
|
||||
|
||||
|
||||
# define target name
|
||||
set(BENCHTARGET benchmarks)
|
||||
|
||||
add_custom_target(${BENCHTARGET} ALL)
|
||||
|
||||
add_subdirectory(barite)
|
||||
add_subdirectory(dolo)
|
||||
add_subdirectory(surfex)
|
||||
add_subdirectory(barite)
|
||||
|
||||
|
||||
@ -1,8 +1,20 @@
|
||||
install(FILES
|
||||
barite.R
|
||||
barite_interp_eval.R
|
||||
barite.pqi
|
||||
db_barite.dat
|
||||
DESTINATION
|
||||
share/poet/bench/barite
|
||||
# Create a list of files
|
||||
set(bench_files
|
||||
barite_200.R
|
||||
barite_het.R
|
||||
)
|
||||
|
||||
set(runtime_files
|
||||
barite_200_rt.R
|
||||
barite_het_rt.R
|
||||
)
|
||||
|
||||
# add_custom_target(barite_bench DEPENDS ${bench_files} ${runtime_files})
|
||||
|
||||
ADD_BENCH_TARGET(barite_bench
|
||||
bench_files
|
||||
runtime_files
|
||||
"barite"
|
||||
)
|
||||
|
||||
add_dependencies(${BENCHTARGET} barite_bench)
|
||||
@ -1,9 +1,18 @@
|
||||
install(FILES
|
||||
dolo_diffu_inner.R
|
||||
dolo_diffu_inner_large.R
|
||||
dolo_inner.pqi
|
||||
dolo_interp_long.R
|
||||
phreeqc_kin.dat
|
||||
DESTINATION
|
||||
share/poet/bench/dolo
|
||||
set(bench_files
|
||||
dolo_inner_large.R
|
||||
dolo_interp.R
|
||||
)
|
||||
|
||||
set(runtime_files
|
||||
dolo_inner_large_rt.R
|
||||
dolo_interp_rt.R
|
||||
)
|
||||
|
||||
ADD_BENCH_TARGET(
|
||||
dolo_bench
|
||||
bench_files
|
||||
runtime_files
|
||||
"dolo"
|
||||
)
|
||||
|
||||
add_dependencies(${BENCHTARGET} dolo_bench)
|
||||
@ -1,9 +1,18 @@
|
||||
install(FILES
|
||||
ExBase.pqi
|
||||
ex.R
|
||||
set(bench_files
|
||||
surfex.R
|
||||
SurfExBase.pqi
|
||||
SMILE_2021_11_01_TH.dat
|
||||
DESTINATION
|
||||
share/poet/bench/surfex
|
||||
ex.R
|
||||
)
|
||||
|
||||
set(runtime_files
|
||||
surfex_rt.R
|
||||
ex_rt.R
|
||||
)
|
||||
|
||||
ADD_BENCH_TARGET(
|
||||
surfex_bench
|
||||
bench_files
|
||||
runtime_files
|
||||
"surfex"
|
||||
)
|
||||
|
||||
add_dependencies(${BENCHTARGET} surfex_bench)
|
||||
@ -81,5 +81,5 @@ add_executable(poet_init initializer.cpp)
|
||||
target_link_libraries(poet_init PRIVATE POETLib RRuntime)
|
||||
target_include_directories(poet_init PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
|
||||
# install(TARGETS poet DESTINATION bin)
|
||||
install(TARGETS poet poet_init DESTINATION bin)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user