mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-26 05:50:32 +05:00
30 lines
859 B
CMake
30 lines
859 B
CMake
|
# this file is included from the parent directory (otherwise generated source files are not recognized properly by cmake)
|
||
|
|
||
|
# generate .cpp files containing the string of the .rls meshing rule files
|
||
|
add_executable(makerls rules/makerlsfile.cpp)
|
||
|
|
||
|
set(rules
|
||
|
hexrules
|
||
|
prismrules2
|
||
|
pyramidrules
|
||
|
pyramidrules2
|
||
|
quadrules
|
||
|
tetrules
|
||
|
triarules
|
||
|
)
|
||
|
|
||
|
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/rules/)
|
||
|
|
||
|
foreach(rule ${rules})
|
||
|
list(APPEND rules_sources ${CMAKE_CURRENT_BINARY_DIR}/rules/rule_${rule}.cpp)
|
||
|
set(rule_file ${CMAKE_CURRENT_SOURCE_DIR}/rules/${rule}.rls)
|
||
|
set(rule_cpp ${CMAKE_CURRENT_BINARY_DIR}/rules/rule_${rule}.cpp)
|
||
|
|
||
|
add_custom_command(OUTPUT ${rule_cpp}
|
||
|
COMMAND makerls ${rule_file} ${rule_cpp} ${rule}
|
||
|
DEPENDS makerls ${rule_file}
|
||
|
)
|
||
|
endforeach()
|
||
|
|
||
|
target_sources(nglib PRIVATE ${rules_sources})
|