From c58ddd5d328bc662d218f1d17af87c08dc802579 Mon Sep 17 00:00:00 2001 From: Curve Date: Thu, 21 Mar 2024 19:49:52 +0100 Subject: [PATCH] refactor(examples): don't accumulate all binaries in same directory --- cmake/bat.cmake | 12 ++++++++++++ examples/CMakeLists.txt | 10 ++++++---- examples/GDSReader/CMakeLists.txt | 2 +- examples/KDTreeBenchmark/CMakeLists.txt | 2 +- examples/KDTreeBenchmark/KDTreeBenchmark.cpp | 4 ++-- examples/TEOSTrenchDeposition/CMakeLists.txt | 4 ++-- examples/atomicLayerDeposition/CMakeLists.txt | 2 +- examples/cantileverWetEtching/CMakeLists.txt | 2 +- examples/exampleProcess/CMakeLists.txt | 2 +- examples/holeEtching/CMakeLists.txt | 2 +- examples/interpolationDemo/CMakeLists.txt | 2 +- examples/oxideRegrowth/CMakeLists.txt | 2 +- examples/selectiveEpitaxy/CMakeLists.txt | 2 +- examples/stackEtching/CMakeLists.txt | 2 +- examples/trenchDeposition/CMakeLists.txt | 2 +- examples/trenchDepositionGeometric/CMakeLists.txt | 2 +- examples/volumeModel/CMakeLists.txt | 2 +- 17 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 cmake/bat.cmake diff --git a/cmake/bat.cmake b/cmake/bat.cmake new file mode 100644 index 0000000..501f669 --- /dev/null +++ b/cmake/bat.cmake @@ -0,0 +1,12 @@ +macro(setup_windows_bat TARGET LIB_FOLDER) + if(WIN32) + return() + endif() + + message(STATUS "[ViennaPS] Generating Bat file for ${TARGET}") + + file( + GENERATE + OUTPUT "$/${TARGET}.bat" + CONTENT "set \"PATH=${LIB_FOLDER};%PATH%\"\n${TARGET}.exe %*") +endmacro() diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 2c48fff..3d18b81 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,17 +1,19 @@ add_custom_target(ViennaPS_Examples ALL) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY $<1:${PROJECT_BINARY_DIR}/examples-bin>) +include("../cmake/bat.cmake") + +set(VIENNAPS_EXAMPLES_LIB $<1:${PROJECT_BINARY_DIR}/example-libs>) if(WIN32 AND NOT VIENNARAY_SYSTEM_EMBREE) - setup_embree_env(ViennaPS_Examples ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + setup_embree_env(ViennaPS_Examples ${VIENNAPS_EXAMPLES_LIB}) endif() if(WIN32 AND NOT VIENNARAY_SYSTEM_TBB) - setup_tbb_env(ViennaPS_Examples ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + setup_tbb_env(ViennaPS_Examples ${VIENNAPS_EXAMPLES_LIB}) endif() if(WIN32 AND NOT VIENNALS_SYSTEM_VTK) - setup_vtk_env(ViennaPS_Examples ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + setup_vtk_env(ViennaPS_Examples ${VIENNAPS_EXAMPLES_LIB}) endif() file( diff --git a/examples/GDSReader/CMakeLists.txt b/examples/GDSReader/CMakeLists.txt index ae476ec..c97294c 100644 --- a/examples/GDSReader/CMakeLists.txt +++ b/examples/GDSReader/CMakeLists.txt @@ -7,4 +7,4 @@ configure_file(GDSReader.py ${CMAKE_CURRENT_BINARY_DIR}/GDSReader.py COPYONLY) configure_file(mask.gds ${CMAKE_CURRENT_BINARY_DIR}/mask.gds COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/KDTreeBenchmark/CMakeLists.txt b/examples/KDTreeBenchmark/CMakeLists.txt index e31d147..11b5584 100644 --- a/examples/KDTreeBenchmark/CMakeLists.txt +++ b/examples/KDTreeBenchmark/CMakeLists.txt @@ -4,4 +4,4 @@ add_executable(${PROJECT_NAME} "${PROJECT_NAME}.cpp") target_link_libraries(${PROJECT_NAME} PRIVATE ViennaPS) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/KDTreeBenchmark/KDTreeBenchmark.cpp b/examples/KDTreeBenchmark/KDTreeBenchmark.cpp index 043bd9e..8139cd7 100644 --- a/examples/KDTreeBenchmark/KDTreeBenchmark.cpp +++ b/examples/KDTreeBenchmark/KDTreeBenchmark.cpp @@ -94,8 +94,8 @@ int main(int argc, char *argv[]) { std::cout << "Finding Nearest Neighbors...\n"; startTime = getTime(); for (unsigned i = 0; i < repetitions; ++i) { - for (const auto &pt : testPoints) - [[maybe_unused]] auto result = tree->findNearest(pt); + for (const auto &pt : testPoints) [[maybe_unused]] + auto result = tree->findNearest(pt); } endTime = getTime(); diff --git a/examples/TEOSTrenchDeposition/CMakeLists.txt b/examples/TEOSTrenchDeposition/CMakeLists.txt index 66c24ea..23f2be0 100644 --- a/examples/TEOSTrenchDeposition/CMakeLists.txt +++ b/examples/TEOSTrenchDeposition/CMakeLists.txt @@ -7,7 +7,7 @@ configure_file(singleTEOS.py ${CMAKE_CURRENT_BINARY_DIR}/singleTEOS.py COPYONLY) configure_file(singleTEOS_config.txt ${CMAKE_CURRENT_BINARY_DIR}/singleTEOS_config.txt COPYONLY) add_dependencies(ViennaPS_Examples singleTEOS) -add_test(NAME singleTEOS COMMAND $) +setup_windows_bat(singleTEOS ${VIENNAPS_EXAMPLES_LIB}) add_executable(multiTEOS "multiTEOS.cpp") target_link_libraries(multiTEOS PRIVATE ViennaPS) @@ -16,4 +16,4 @@ configure_file(multiTEOS.py ${CMAKE_CURRENT_BINARY_DIR}/multiTEOS.py COPYONLY) configure_file(multiTEOS_config.txt ${CMAKE_CURRENT_BINARY_DIR}/multiTEOS_config.txt COPYONLY) add_dependencies(ViennaPS_Examples multiTEOS) -add_test(NAME multiTEOS COMMAND $) +setup_windows_bat(multiTEOS ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/atomicLayerDeposition/CMakeLists.txt b/examples/atomicLayerDeposition/CMakeLists.txt index 8efdfb1..75ba316 100644 --- a/examples/atomicLayerDeposition/CMakeLists.txt +++ b/examples/atomicLayerDeposition/CMakeLists.txt @@ -8,4 +8,4 @@ configure_file(atomicLayerDeposition.py ${CMAKE_CURRENT_BINARY_DIR}/atomicLayerD COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/cantileverWetEtching/CMakeLists.txt b/examples/cantileverWetEtching/CMakeLists.txt index eeb3482..f1a8bfa 100644 --- a/examples/cantileverWetEtching/CMakeLists.txt +++ b/examples/cantileverWetEtching/CMakeLists.txt @@ -7,4 +7,4 @@ configure_file(cantileverWetEtching.py ${CMAKE_CURRENT_BINARY_DIR}/cantileverWet configure_file(cantilever_mask.gds ${CMAKE_CURRENT_BINARY_DIR}/cantilever_mask.gds COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/exampleProcess/CMakeLists.txt b/examples/exampleProcess/CMakeLists.txt index b6a5e49..024731c 100644 --- a/examples/exampleProcess/CMakeLists.txt +++ b/examples/exampleProcess/CMakeLists.txt @@ -4,4 +4,4 @@ add_executable(${PROJECT_NAME} "${PROJECT_NAME}.cpp") target_link_libraries(${PROJECT_NAME} PRIVATE ViennaPS) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/holeEtching/CMakeLists.txt b/examples/holeEtching/CMakeLists.txt index 37488e6..a1bca1c 100644 --- a/examples/holeEtching/CMakeLists.txt +++ b/examples/holeEtching/CMakeLists.txt @@ -7,4 +7,4 @@ configure_file(holeEtching.py ${CMAKE_CURRENT_BINARY_DIR}/holeEtching.py COPYONL configure_file(config.txt ${CMAKE_CURRENT_BINARY_DIR}/config.txt COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/interpolationDemo/CMakeLists.txt b/examples/interpolationDemo/CMakeLists.txt index 84febd6..8f95979 100644 --- a/examples/interpolationDemo/CMakeLists.txt +++ b/examples/interpolationDemo/CMakeLists.txt @@ -8,4 +8,4 @@ configure_file(scatterdata.csv ${CMAKE_CURRENT_BINARY_DIR}/scatterdata.csv COPYO configure_file(plot.py ${CMAKE_CURRENT_BINARY_DIR}/plot.py COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/oxideRegrowth/CMakeLists.txt b/examples/oxideRegrowth/CMakeLists.txt index b5b4638..b2b4067 100644 --- a/examples/oxideRegrowth/CMakeLists.txt +++ b/examples/oxideRegrowth/CMakeLists.txt @@ -7,4 +7,4 @@ configure_file(oxideRegrowth.py ${CMAKE_CURRENT_BINARY_DIR}/oxideRegrowth.py COP configure_file(config.txt ${CMAKE_CURRENT_BINARY_DIR}/config.txt COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/selectiveEpitaxy/CMakeLists.txt b/examples/selectiveEpitaxy/CMakeLists.txt index 86877b9..42272e2 100644 --- a/examples/selectiveEpitaxy/CMakeLists.txt +++ b/examples/selectiveEpitaxy/CMakeLists.txt @@ -7,4 +7,4 @@ configure_file(selectiveEpitaxy.py ${CMAKE_CURRENT_BINARY_DIR}/selectiveEpitaxy. configure_file(config.txt ${CMAKE_CURRENT_BINARY_DIR}/config.txt COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/stackEtching/CMakeLists.txt b/examples/stackEtching/CMakeLists.txt index 26d3362..ccdb9dd 100644 --- a/examples/stackEtching/CMakeLists.txt +++ b/examples/stackEtching/CMakeLists.txt @@ -7,4 +7,4 @@ configure_file(stackEtching.py ${CMAKE_CURRENT_BINARY_DIR}/stackEtching.py COPYO configure_file(config.txt ${CMAKE_CURRENT_BINARY_DIR}/config.txt COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/trenchDeposition/CMakeLists.txt b/examples/trenchDeposition/CMakeLists.txt index 86df181..17ccec0 100644 --- a/examples/trenchDeposition/CMakeLists.txt +++ b/examples/trenchDeposition/CMakeLists.txt @@ -7,4 +7,4 @@ configure_file(trenchDeposition.py ${CMAKE_CURRENT_BINARY_DIR}/trenchDeposition. configure_file(config.txt ${CMAKE_CURRENT_BINARY_DIR}/config.txt COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/trenchDepositionGeometric/CMakeLists.txt b/examples/trenchDepositionGeometric/CMakeLists.txt index 6013a05..a2ae284 100644 --- a/examples/trenchDepositionGeometric/CMakeLists.txt +++ b/examples/trenchDepositionGeometric/CMakeLists.txt @@ -8,4 +8,4 @@ configure_file(trenchDepositionGeometric.py configure_file(config.txt ${CMAKE_CURRENT_BINARY_DIR}/config.txt COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB}) diff --git a/examples/volumeModel/CMakeLists.txt b/examples/volumeModel/CMakeLists.txt index e3b2bd6..dec39ae 100644 --- a/examples/volumeModel/CMakeLists.txt +++ b/examples/volumeModel/CMakeLists.txt @@ -7,4 +7,4 @@ configure_file(volumeModel.py ${CMAKE_CURRENT_BINARY_DIR}/volumeModel.py COPYONL configure_file(config.txt ${CMAKE_CURRENT_BINARY_DIR}/config.txt COPYONLY) add_dependencies(ViennaPS_Examples ${PROJECT_NAME}) -add_test(NAME ${PROJECT_NAME} COMMAND $) +setup_windows_bat(${PROJECT_NAME} ${VIENNAPS_EXAMPLES_LIB})