@@ -9,6 +9,11 @@ BUILD_EXAMPLES=OFF
99BUILD_TESTS=OFF
1010PYTHON_UDL_INTERFACE_PREFIX=" ${PYTHON_UDL_INTERFACE_PREFIX:-/ usr/ local} "
1111
12+ ENABLE_GPROF=OFF
13+ ENABLE_ASAN=OFF
14+ ENABLE_TSAN=OFF
15+ ENABLE_FP=OFF
16+
1217# Parse arguments
1318while [[ " $# " -gt 0 ]]; do
1419 case $1 in
@@ -30,13 +35,29 @@ while [[ "$#" -gt 0 ]]; do
3035 PYTHON_UDL_INTERFACE_PREFIX=" $2 "
3136 shift
3237 ;;
38+ --gprof)
39+ ENABLE_GPROF=ON
40+ ;;
41+ --asan)
42+ ENABLE_ASAN=ON
43+ ;;
44+ --tsan)
45+ ENABLE_TSAN=ON
46+ ;;
47+ --flame)
48+ ENABLE_FP=ON
49+ ;;
3350 -h | --help)
3451 echo " Usage: ./configure.sh [options]"
35- echo " -m | --mode : Build type (default: Debug)"
52+ echo " -m | --mode : Build type (Debug/Release/RelWithDebInfo )"
3653 echo " -d | --dir : Build directory (default: build)"
37- echo " -e | --examples : Enable building examples (default: OFF)"
38- echo " -t | --tests : Enable building tests (default: OFF)"
39- echo " -p | --prefix : Install prefix (default: /usr/local or \$ PYTHON_UDL_INTERFACE_PREFIX)"
54+ echo " -e | --examples : Enable building examples"
55+ echo " -t | --tests : Enable building tests"
56+ echo " -p | --prefix : Install prefix"
57+ echo " --gprof : Enable gprof profiling"
58+ echo " --asan : Enable AddressSanitizer"
59+ echo " --tsan : Enable ThreadSanitizer"
60+ echo " --flame : Enable frame pointer for flamegraph generation"
4061 exit 0
4162 ;;
4263 * )
@@ -47,12 +68,19 @@ while [[ "$#" -gt 0 ]]; do
4768 shift
4869done
4970
71+ # Summary
72+ BUILD_DIR=" ${BUILD_DIR} -${BUILD_TYPE} "
73+
5074echo " Configuring project..."
5175echo " Build type : $BUILD_TYPE "
5276echo " Build dir : $BUILD_DIR "
5377echo " Build examples : $BUILD_EXAMPLES "
5478echo " Build tests : $BUILD_TESTS "
5579echo " Install prefix : $PYTHON_UDL_INTERFACE_PREFIX "
80+ echo " ENABLE_GPROF : $ENABLE_GPROF "
81+ echo " ENABLE_ASAN : $ENABLE_ASAN "
82+ echo " ENABLE_TSAN : $ENABLE_TSAN "
83+ echo " ENABLE_FP : $ENABLE_FP "
5684
5785# Create build directory
5886mkdir -p " $BUILD_DIR "
@@ -63,6 +91,10 @@ cmake -B "$BUILD_DIR" \
6391 -DCMAKE_INSTALL_PREFIX=" $PYTHON_UDL_INTERFACE_PREFIX " \
6492 -DBUILD_EXAMPLES=" $BUILD_EXAMPLES " \
6593 -DBUILD_TESTS=" $BUILD_TESTS " \
94+ -DENABLE_GPROF=" $ENABLE_GPROF " \
95+ -DENABLE_ASAN=" $ENABLE_ASAN " \
96+ -DENABLE_TSAN=" $ENABLE_TSAN " \
97+ -DENABLE_FP=" $ENABLE_FP " \
6698 -S .
6799
68100echo " Configuration complete. You can now run: cmake --build $BUILD_DIR "
0 commit comments