Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial CMake support #929

Merged
merged 54 commits into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
8b5e2e5
CMake BS working skeleton
dutkalex Feb 5, 2024
e13c685
added T8CODE_ENABLE_MPI config flag
dutkalex Feb 5, 2024
494fc9a
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 5, 2024
ec48d40
ported all unit tests
dutkalex Feb 5, 2024
bb6eef5
Merge branch 'main' of https://github.com/dutkalex/t8code
dutkalex Feb 5, 2024
db643f3
mvp working
dutkalex Feb 5, 2024
3e96570
typo fix
dutkalex Feb 6, 2024
81fb70d
initial examples support
dutkalex Feb 6, 2024
e19374a
helper fcn bug fix
dutkalex Feb 6, 2024
f863b2f
all tests exmaples and tutorials ported
dutkalex Feb 6, 2024
554adbe
t8_gtest_version OK
dutkalex Feb 6, 2024
a8fc0ea
libT8.* => libt8.*
dutkalex Feb 6, 2024
8116539
libt8.a / libt8.so option
dutkalex Feb 6, 2024
38c75c4
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 7, 2024
f82284c
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 7, 2024
199e022
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 8, 2024
652291a
small cleanups
dutkalex Feb 8, 2024
0136dfb
added public headers to install
dutkalex Feb 8, 2024
7b9d79b
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 8, 2024
3d5afc9
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 8, 2024
52c8156
libT8ex => libt8example
dutkalex Feb 8, 2024
119caaa
Merge branch 'main' of https://github.com/dutkalex/t8code
dutkalex Feb 8, 2024
b5ac255
added tutorials and examples to the install
dutkalex Feb 8, 2024
673dfcc
added T8CODE_ENABLE_VTK flag
dutkalex Feb 8, 2024
90c1293
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 8, 2024
89bcd5a
minor cleanups
dutkalex Feb 9, 2024
a8d3c8a
Merge branch 'main' of https://github.com/dutkalex/t8code
dutkalex Feb 9, 2024
8cf8e32
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 9, 2024
7989b4f
better #defines for t8 version
dutkalex Feb 12, 2024
7e33541
Merge branch 'main' of https://github.com/dutkalex/t8code
dutkalex Feb 12, 2024
4e71dc8
bug fix
dutkalex Feb 13, 2024
1211e31
override default for libsc's BUILD_SHARED_LIBS
dutkalex Feb 13, 2024
51d1326
typo fix
dutkalex Feb 13, 2024
a49fb0d
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 14, 2024
4f127e1
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 14, 2024
5820b88
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 16, 2024
2376154
Update CMakeLists.txt
dutkalex Feb 16, 2024
0a6306a
Update CMakeLists.txt
dutkalex Feb 16, 2024
dbde5d7
Update src/CMakeLists.txt
dutkalex Feb 16, 2024
9a46324
Update CMakeLists.txt
dutkalex Feb 16, 2024
e0f6e98
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 19, 2024
5f5792b
Update example/CMakeLists.txt
dutkalex Feb 20, 2024
0bb7d83
Update CMakeLists.txt
dutkalex Feb 20, 2024
efa5975
Update test/CMakeLists.txt
dutkalex Feb 20, 2024
f7e6ffe
Update test/CMakeLists.txt
dutkalex Feb 20, 2024
c351540
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 20, 2024
450cd73
Update src/CMakeLists.txt
dutkalex Feb 21, 2024
3a014f0
Update src/CMakeLists.txt
dutkalex Feb 21, 2024
b21289b
Update src/CMakeLists.txt
dutkalex Feb 21, 2024
9ceabfd
Update src/CMakeLists.txt
dutkalex Feb 21, 2024
a1fdf1b
Update test/CMakeLists.txt
dutkalex Feb 21, 2024
27d6fb1
Update test/CMakeLists.txt
dutkalex Feb 21, 2024
6aed993
Update src/CMakeLists.txt
dutkalex Feb 21, 2024
c286541
Merge branch 'DLR-AMR:main' into main
dutkalex Feb 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
sc/
p4est/
build-aux/
build/

.deps/
.libs/
Expand Down
36 changes: 36 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
cmake_minimum_required( VERSION 3.16 )
project( T8CODE DESCRIPTION "Parallel algorithms and data structures for tree-based AMR with arbitrary element shapes." LANGUAGES C CXX )
include( CTest )

option( T8CODE_ENABLE_MPI "" ON )
option( T8CODE_BUILD_TESTS "" ON )
option( T8CODE_BUILD_TUTORIALS "" ON )

if( NOT CMAKE_CXX_STANDARD )
set( CMAKE_CXX_STANDARD 17 )
endif()

if( NOT CMAKE_INSTALL_PREFIX )
set( CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_LIST_DIR}/build )
endif()

if( T8CODE_ENABLE_MPI )
find_package( MPI COMPONENTS C REQUIRED )
if( NOT MPIEXEC_EXECUTABLE )
message( FATAL_ERROR "MPIEXEC is missing, MPI will not work properly" )
endif()
set( SC_ENABLE_MPI ON )
set( mpi ON )
endif()

add_subdirectory( sc )
add_subdirectory( p4est )
add_subdirectory( src )

if ( T8CODE_BUILD_TESTS )
add_subdirectory( test )
endif()

if ( T8CODE_BUILD_TUTORIALS )
add_subdirectory( tutorials )
endif()
100 changes: 100 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
add_library( T8 )
target_include_directories( T8 PUBLIC ${CMAKE_CURRENT_LIST_DIR} )
target_link_libraries( T8 PUBLIC P4EST::P4EST SC::SC $<$<BOOL:${T8CODE_ENABLE_MPI}>:MPI::MPI_C> )
target_sources( T8 PRIVATE
t8.c
t8_eclass.c
t8_mesh.c
t8_element.c
t8_element_cxx.cxx
t8_element_c_interface.cxx
t8_refcount.c
t8_cmesh/t8_cmesh.c
t8_cmesh/t8_cmesh_occ.cxx
t8_cmesh/t8_cmesh_cxx.cxx
t8_cmesh/t8_cmesh_triangle.c
t8_cmesh/t8_cmesh_vtk_writer.c
t8_cmesh/t8_cmesh_stash.c
t8_cmesh/t8_cmesh_vtk_reader.cxx
t8_cmesh/t8_cmesh_save.c
t8_cmesh/t8_cmesh_netcdf.c
t8_cmesh/t8_cmesh_trees.c
t8_cmesh/t8_cmesh_commit.c
t8_cmesh/t8_cmesh_partition.c
t8_cmesh/t8_cmesh_copy.c
t8_data/t8_shmem.c
t8_cmesh/t8_cmesh_geometry.cxx
t8_cmesh/t8_cmesh_examples.c
t8_cmesh/t8_cmesh_helpers.c
t8_data/t8_containers.cxx
t8_cmesh/t8_cmesh_offset.c
t8_cmesh/t8_cmesh_readmshfile.cxx
t8_forest/t8_forest.c
t8_forest/t8_forest_adapt.cxx
t8_geometry/t8_geometry.cxx
t8_geometry/t8_geometry_helpers.c
t8_geometry/t8_geometry_base.cxx
t8_geometry/t8_geometry_with_vertices.cxx
t8_geometry/t8_geometry_implementations/t8_geometry_analytic.cxx
t8_geometry/t8_geometry_implementations/t8_geometry_occ.cxx
t8_geometry/t8_geometry_implementations/t8_geometry_linear.cxx
t8_geometry/t8_geometry_implementations/t8_geometry_linear_axis_aligned.cxx
t8_geometry/t8_geometry_implementations/t8_geometry_zero.cxx
t8_geometry/t8_geometry_implementations/t8_geometry_examples.cxx
t8_forest/t8_forest_partition.cxx
t8_forest/t8_forest_cxx.cxx
t8_forest/t8_forest_private.c
t8_forest/t8_forest_vtk.cxx
t8_forest/t8_forest_ghost.cxx
t8_forest/t8_forest_iterate.cxx
t8_version.c
t8_vtk.c
t8_forest/t8_forest_balance.cxx
t8_forest/t8_forest_netcdf.cxx
t8_element_shape.c
t8_netcdf.c
t8_cmesh/t8_cmesh_testcases.c
t8_vtk/t8_vtk_polydata.cxx
t8_vtk/t8_vtk_unstructured.cxx
t8_vtk/t8_vtk_parallel.cxx
t8_vtk/t8_vtk_reader.cxx
t8_schemes/t8_default/t8_default_cxx.cxx
t8_schemes/t8_default/t8_default_common/t8_default_common_cxx.cxx
t8_schemes/t8_default/t8_default_hex/t8_default_hex_cxx.cxx
t8_schemes/t8_default/t8_default_hex/t8_dhex_bits.c
t8_schemes/t8_default/t8_default_line/t8_default_line_cxx.cxx
t8_schemes/t8_default/t8_default_line/t8_dline_bits.c
t8_schemes/t8_default/t8_default_prism/t8_default_prism_cxx.cxx
t8_schemes/t8_default/t8_default_prism/t8_dprism_bits.c
t8_schemes/t8_default/t8_default_quad/t8_default_quad_cxx.cxx
t8_schemes/t8_default/t8_default_quad/t8_dquad_bits.c
t8_schemes/t8_default/t8_default_tet/t8_default_tet_cxx.cxx
t8_schemes/t8_default/t8_default_tet/t8_dtet_bits.c
t8_schemes/t8_default/t8_default_tet/t8_dtet_connectivity.c
t8_schemes/t8_default/t8_default_tri/t8_default_tri_cxx.cxx
t8_schemes/t8_default/t8_default_tri/t8_dtri_bits.c
t8_schemes/t8_default/t8_default_tri/t8_dtri_connectivity.c
t8_schemes/t8_default/t8_default_vertex/t8_default_vertex_cxx.cxx
t8_schemes/t8_default/t8_default_vertex/t8_dvertex_bits.c
t8_schemes/t8_default/t8_default_pyramid/t8_default_pyramid_cxx.cxx
t8_schemes/t8_default/t8_default_pyramid/t8_dpyramid_bits.c
t8_schemes/t8_default/t8_default_pyramid/t8_dpyramid_connectivity.c
)

target_compile_definitions( T8 PUBLIC T8_CMAKE_BUILD )
target_compile_definitions( T8 PUBLIC T8_CC="${CMAKE_C_COMPILER}" )
target_compile_definitions( T8 PUBLIC T8_CFLAGS="${CMAKE_C_FLAGS}" )
target_compile_definitions( T8 PUBLIC T8_CPP="${CMAKE_CXX_COMPILER}" )
target_compile_definitions( T8 PUBLIC T8_CPPFLAGS="${CMAKE_CXX_FLAGS}" )
target_compile_definitions( T8 PUBLIC T8_LDFLAGS="${CMAKE_SHARED_LINKER_FLAGS}" )
target_compile_definitions( T8 PUBLIC T8_LIBS="???" )

target_compile_definitions( T8 PUBLIC T8_PACKAGE_STRING="t8 1.6.1.???" )
target_compile_definitions( T8 PUBLIC T8_VERSION="1.6.1.???" )
target_compile_definitions( T8 PUBLIC T8_VERSION_MAJOR=1 )
target_compile_definitions( T8 PUBLIC T8_VERSION_MINOR=6 )

if ( T8CODE_ENABLE_MPI )
target_compile_definitions( T8 PUBLIC T8_ENABLE_MPI )
target_compile_definitions( T8 PUBLIC T8_ENABLE_MPIIO )
endif()
2 changes: 2 additions & 0 deletions src/t8.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@
#define T8_H

/* include config headers */
#ifndef T8_CMAKE_BUILD
#include <t8_config.h>
#endif
#include <sc_config.h>
#if (defined(T8_ENABLE_MPI) && !defined(SC_ENABLE_MPI)) || (!defined(T8_ENABLE_MPI) && defined(SC_ENABLE_MPI))
#error "MPI configured differently in t8code and libsc"
Expand Down
2 changes: 2 additions & 0 deletions src/t8_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,9 @@
#define T8_VERSION_H

#include <t8.h>
#ifndef T8_CMAKE_BUILD
#include <t8_config.h>
#endif

/* In order to convert a macro to a string, we
* need to pass it through these two helper macros. */
Expand Down
73 changes: 73 additions & 0 deletions test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
add_library( gtest ${CMAKE_CURRENT_LIST_DIR}/../thirdparty/googletest-mpi/gtest/gtest-all.cc )
target_include_directories( gtest PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../thirdparty/googletest-mpi ${CMAKE_CURRENT_LIST_DIR}/.. )

function( add_t8_test TEST_NAME TEST_SOURCES )
add_executable( ${TEST_NAME} ${TEST_SOURCES} )
target_link_libraries( ${TEST_NAME} PRIVATE T8 gtest )
if( T8CODE_ENABLE_MPI )
target_compile_definitions( ${TEST_NAME} PRIVATE T8_ENABLE_MPI )
target_compile_definitions( ${TEST_NAME} PRIVATE T8_ENABLE_MPIIO )
endif()
add_test( NAME ${TEST_NAME} COMMAND ./${TEST_NAME} )
endfunction()

add_t8_test( t8_gtest_cmesh_bcast t8_gtest_main.cxx t8_cmesh/t8_gtest_bcast.cxx )
add_t8_test( t8_gtest_eclass t8_gtest_main.cxx t8_gtest_eclass.cxx )
add_t8_test( t8_gtest_vec t8_gtest_main.cxx t8_gtest_vec.cxx )
add_t8_test( t8_gtest_mat t8_gtest_main.cxx t8_gtest_mat.cxx )
add_t8_test( t8_gtest_refcount t8_gtest_main.cxx t8_gtest_refcount.cxx )
add_t8_test( t8_gtest_occ_linkage t8_gtest_main.cxx t8_gtest_occ_linkage.cxx )
add_t8_test( t8_gtest_version t8_gtest_main.cxx t8_gtest_version.cxx )
add_t8_test( t8_gtest_basics t8_gtest_main.cxx t8_gtest_basics.cxx )
add_t8_test( t8_gtest_netcdf_linkage t8_gtest_main.cxx t8_gtest_netcdf_linkage.cxx )
add_t8_test( t8_gtest_vtk_linkage t8_gtest_main.cxx t8_gtest_vtk_linkage.cxx )

add_t8_test( t8_gtest_hypercube t8_gtest_main.cxx t8_cmesh/t8_gtest_hypercube.cxx )
add_t8_test( t8_gtest_cmesh_copy t8_gtest_main.cxx t8_cmesh/t8_gtest_cmesh_copy.cxx )
add_t8_test( t8_gtest_cmesh_face_is_boundary t8_gtest_main.cxx t8_cmesh/t8_gtest_cmesh_face_is_boundary.cxx )
add_t8_test( t8_gtest_cmesh_partition t8_gtest_main.cxx t8_cmesh/t8_gtest_cmesh_partition.cxx )
add_t8_test( t8_gtest_cmesh_set_partition_offsets t8_gtest_main.cxx t8_cmesh/t8_gtest_cmesh_set_partition_offsets.cxx )
add_t8_test( t8_gtest_cmesh_set_join_by_vertices t8_gtest_main.cxx t8_cmesh/t8_gtest_cmesh_set_join_by_vertices.cxx )
add_t8_test( t8_gtest_multiple_attributes t8_gtest_main.cxx t8_cmesh/t8_gtest_multiple_attributes.cxx )
add_t8_test( t8_gtest_attribute_gloidx_array t8_gtest_main.cxx t8_cmesh/t8_gtest_attribute_gloidx_array.cxx )

add_t8_test( t8_gtest_shmem t8_gtest_main.cxx t8_data/t8_gtest_shmem.cxx )

add_t8_test( t8_gtest_element_volume t8_gtest_main.cxx t8_forest/t8_gtest_element_volume.cxx )
add_t8_test( t8_gtest_search t8_gtest_main.cxx t8_forest/t8_gtest_search.cxx )
add_t8_test( t8_gtest_element_general_function t8_gtest_main.cxx t8_forest/t8_gtest_element_general_function.cxx )
add_t8_test( t8_gtest_half_neighbors t8_gtest_main.cxx t8_forest/t8_gtest_half_neighbors.cxx )
add_t8_test( t8_gtest_find_owner t8_gtest_main.cxx t8_forest/t8_gtest_find_owner.cxx )
add_t8_test( t8_gtest_user_data t8_gtest_main.cxx t8_forest/t8_gtest_user_data.cxx )
add_t8_test( t8_gtest_transform t8_gtest_main.cxx t8_forest/t8_gtest_transform.cxx )
add_t8_test( t8_gtest_ghost_exchange t8_gtest_main.cxx t8_forest/t8_gtest_ghost_exchange.cxx )
add_t8_test( t8_gtest_ghost_delete t8_gtest_main.cxx t8_forest/t8_gtest_ghost_delete.cxx )
add_t8_test( t8_gtest_ghost_and_owner t8_gtest_main.cxx t8_forest/t8_gtest_ghost_and_owner.cxx )

add_t8_test( t8_gtest_permute_hole t8_gtest_main.cxx t8_forest_incomplete/t8_gtest_permute_hole.cxx )
add_t8_test( t8_gtest_recursive t8_gtest_main.cxx t8_forest_incomplete/t8_gtest_recursive.cxx )
add_t8_test( t8_gtest_iterate_replace t8_gtest_main.cxx t8_forest_incomplete/t8_gtest_iterate_replace.cxx )
add_t8_test( t8_gtest_empty_local_tree t8_gtest_main.cxx t8_forest_incomplete/t8_gtest_empty_local_tree.cxx )
add_t8_test( t8_gtest_empty_global_tree t8_gtest_main.cxx t8_forest_incomplete/t8_gtest_empty_global_tree.cxx )

add_t8_test( t8_gtest_geometry_occ t8_gtest_main.cxx t8_geometry/t8_geometry_implementations/t8_gtest_geometry_occ.cxx )
add_t8_test( t8_gtest_geometry t8_gtest_main.cxx t8_geometry/t8_gtest_geometry.cxx )
add_t8_test( t8_gtest_point_inside t8_gtest_main.cxx t8_geometry/t8_gtest_point_inside.cxx )

add_t8_test( t8_gtest_vtk_reader t8_gtest_main.cxx t8_IO/t8_gtest_vtk_reader.cxx )

add_t8_test( t8_gtest_nca t8_gtest_main.cxx t8_schemes/t8_gtest_nca.cxx )
add_t8_test( t8_gtest_pyra_connectivity t8_gtest_main.cxx t8_schemes/t8_gtest_pyra_connectivity.cxx )
add_t8_test( t8_gtest_face_neigh t8_gtest_main.cxx t8_schemes/t8_gtest_face_neigh.cxx )
add_t8_test( t8_gtest_init_linear_id t8_gtest_main.cxx t8_schemes/t8_gtest_init_linear_id.cxx )
add_t8_test( t8_gtest_ancestor t8_gtest_main.cxx t8_schemes/t8_gtest_ancestor.cxx )
add_t8_test( t8_gtest_element_count_leafs t8_gtest_main.cxx t8_schemes/t8_gtest_element_count_leafs.cxx )

Check warning on line 64 in test/CMakeLists.txt

View workflow job for this annotation

GitHub Actions / Spell Check with Typos

"leafs" should be "leaves".

Check warning on line 64 in test/CMakeLists.txt

View workflow job for this annotation

GitHub Actions / Spell Check with Typos

"leafs" should be "leaves".
add_t8_test( t8_gtest_element_ref_coords t8_gtest_main.cxx t8_schemes/t8_gtest_element_ref_coords.cxx )
add_t8_test( t8_gtest_descendant t8_gtest_main.cxx t8_schemes/t8_gtest_descendant.cxx )
add_t8_test( t8_gtest_find_parent t8_gtest_main.cxx t8_schemes/t8_gtest_find_parent.cxx )
add_t8_test( t8_gtest_equal t8_gtest_main.cxx t8_schemes/t8_gtest_equal.cxx )
add_t8_test( t8_gtest_successor t8_gtest_main.cxx t8_schemes/t8_gtest_successor.cxx )
add_t8_test( t8_gtest_boundary_extrude t8_gtest_main.cxx t8_schemes/t8_gtest_boundary_extrude.cxx )
add_t8_test( t8_gtest_face_descendant t8_gtest_main.cxx t8_schemes/t8_gtest_face_descendant.cxx )
add_t8_test( t8_gtest_default t8_gtest_main.cxx t8_schemes/t8_gtest_default.cxx )
add_t8_test( t8_gtest_child_parent_face t8_gtest_main.cxx t8_schemes/t8_gtest_child_parent_face.cxx )
37 changes: 37 additions & 0 deletions tutorials/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
add_executable( t8_step0 ${CMAKE_CURRENT_LIST_DIR}/general/t8_step0_helloworld.cxx )
target_link_libraries( t8_step0 PRIVATE T8 )

add_executable( t8_step1 ${CMAKE_CURRENT_LIST_DIR}/general/t8_step1_coarsemesh.cxx )
target_link_libraries( t8_step1 PRIVATE T8 )

add_executable( t8_step2 ${CMAKE_CURRENT_LIST_DIR}/general/t8_step2_uniform_forest.cxx )
target_link_libraries( t8_step2 PRIVATE T8 )

add_executable( t8_step3 ${CMAKE_CURRENT_LIST_DIR}/general/t8_step3_adapt_forest.cxx
${CMAKE_CURRENT_LIST_DIR}/general/t8_step3_main.cxx )
target_include_directories( t8_step3 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/.. )
target_link_libraries( t8_step3 PRIVATE T8 )

add_executable( t8_step4 ${CMAKE_CURRENT_LIST_DIR}/general/t8_step3_adapt_forest.cxx
${CMAKE_CURRENT_LIST_DIR}/general/t8_step4_partition_balance_ghost.cxx
${CMAKE_CURRENT_LIST_DIR}/general/t8_step4_main.cxx )
target_include_directories( t8_step4 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/.. )
target_link_libraries( t8_step4 PRIVATE T8 )

add_executable( t8_step5 ${CMAKE_CURRENT_LIST_DIR}/general/t8_step3_adapt_forest.cxx
# ${CMAKE_CURRENT_LIST_DIR}/general/t8_step5_element_data_c_interface.c
${CMAKE_CURRENT_LIST_DIR}/general/t8_step5_element_data.cxx
${CMAKE_CURRENT_LIST_DIR}/general/t8_step5_main.cxx )
target_include_directories( t8_step5 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/.. )
target_link_libraries( t8_step5 PRIVATE T8 )

add_executable( t8_step6 ${CMAKE_CURRENT_LIST_DIR}/general/t8_step3_adapt_forest.cxx
${CMAKE_CURRENT_LIST_DIR}/general/t8_step6_stencil.cxx
${CMAKE_CURRENT_LIST_DIR}/general/t8_step6_main.cxx )
target_include_directories( t8_step6 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/.. )
target_link_libraries( t8_step6 PRIVATE T8 )

add_executable( t8_step7 ${CMAKE_CURRENT_LIST_DIR}/general/t8_step7_interpolation.cxx
${CMAKE_CURRENT_LIST_DIR}/general/t8_step7_main.cxx )
target_include_directories( t8_step7 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/.. )
target_link_libraries( t8_step7 PRIVATE T8 )
Loading