From ce2299ad389177027475400712c8091c97c7e8bd Mon Sep 17 00:00:00 2001 From: stevencui2 Date: Sat, 28 Jun 2025 12:29:31 -0400 Subject: [PATCH 1/5] update cmake config for better integration --- .clangd | 0 .gitignore | 1 + .vscode/settings.json | 11 +++++++++++ docs/build.md | 25 ++++++++++++------------- src/CMakeLists.txt | 8 +++++--- 5 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 .clangd create mode 100644 .vscode/settings.json diff --git a/.clangd b/.clangd new file mode 100644 index 00000000..e69de29b diff --git a/.gitignore b/.gitignore index 520b10a6..12b2bae0 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ docs/_build .svn msvc src/test/test_data/input/mickey_material_fields +.cache diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..42fb9fea --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "cmake.sourceDirectory": "/home/l5cui/projects/Cleaver/src", + "clangd.arguments": [ + "-background-index", + "-compile-commands-dir=${workspaceFolder}/build", + "-j=4", + "-log=verbose", + "-clang-tidy", + "--enable-config", + ], +} \ No newline at end of file diff --git a/docs/build.md b/docs/build.md index 500065c5..a20e0e3c 100644 --- a/docs/build.md +++ b/docs/build.md @@ -32,10 +32,10 @@ Users of the Cleaver command line tool or graphical interface may not need to bu The table below describes some of build options available when configuring Cleaver using CMake. -| Option | Description | Default | -|-------------|-------------|---------| -| `BUILD_CLI` | Build Cleaver Command Line Tool (CLI) application | `OFF` | -| `BUILD_GUI` | Build Cleaver Graphical Interface (GUI) application | `OFF` | +| Option | Description | Default | +| ----------- | --------------------------------------------------- | ------- | +| `BUILD_CLI` | Build Cleaver Command Line Tool (CLI) application | `OFF` | +| `BUILD_GUI` | Build Cleaver Graphical Interface (GUI) application | `OFF` | :::{tip} By default, when both `BUILD_CLI` and `BUILD_GUI` are `OFF`, only the is built. @@ -51,10 +51,10 @@ By default, when both `BUILD_CLI` and `BUILD_GUI` are `OFF`, only the Date: Sun, 29 Jun 2025 18:35:05 -0400 Subject: [PATCH 2/5] replace CURRENT_SOURCE_DIR with CLEAVER2_SOURCE_DIR for the sake of better consume cleaver as a third party dependency --- src/lib/nrrd2cleaver/teem/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/nrrd2cleaver/teem/CMakeLists.txt b/src/lib/nrrd2cleaver/teem/CMakeLists.txt index 0e9969cb..fd500769 100644 --- a/src/lib/nrrd2cleaver/teem/CMakeLists.txt +++ b/src/lib/nrrd2cleaver/teem/CMakeLists.txt @@ -40,7 +40,7 @@ include_directories(${CLEAVER2_BINARY_DIR}/include) file(GLOB srcs *.cpp ) file(GLOB hdrs *.h ) set(Nrrd2Cleaver_API_HEADER_FILES - ${CMAKE_SOURCE_DIR}/lib/nrrd2cleaver/NRRDTools.h) + ${CLEAVER2_SOURCE_DIR}/lib/nrrd2cleaver/NRRDTools.h) # copy header files over From 3fa9b7b3477480988bef60a32a675b56f1bf29f8 Mon Sep 17 00:00:00 2001 From: stevencui2 Date: Sun, 29 Jun 2025 23:28:24 -0400 Subject: [PATCH 3/5] update all CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR to CLEAVER2_BINARY_DIR and CLEAVER2_SOURCE_DIR --- src/CMakeLists.txt | 2 +- src/CodeCoverage.cmake | 8 ++++---- src/lib/cleaver/CMakeLists.txt | 6 +++--- src/lib/jsoncpp/CMakeLists.txt | 4 ++-- src/lib/nrrd2cleaver/teem/CMakeLists.txt | 4 ++-- src/lib/synthetic/CMakeLists.txt | 6 +++--- src/lib/teem/CMake/CheckBigBitfield.cmake | 6 +++--- src/lib/teem/CMake/TestNO_ICC_IDYNAMIC_NEEDED.cmake | 10 +++++----- src/lib/teem/CMake/TestQnanhibit.cmake | 10 +++++----- src/lib/teem/CMakeLists.txt | 10 +++++----- src/lib/teem/DartConfig.cmake | 2 +- src/test/CMakeLists.txt | 4 ++-- 12 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8c93925b..ba12c56a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -59,7 +59,7 @@ include(cleaverInitializeBuildType) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL +set(EXECUTABLE_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") mark_as_advanced( CLEAVER2_RUNTIME_DIR CLEAVER2_BUNDLE_DIR) diff --git a/src/CodeCoverage.cmake b/src/CodeCoverage.cmake index 6e13c993..4a961b53 100644 --- a/src/CodeCoverage.cmake +++ b/src/CodeCoverage.cmake @@ -42,7 +42,7 @@ find_program( GCOV_PATH gcov ) find_program( LCOV_PATH lcov ) find_program( GENHTML_PATH genhtml ) -find_program( GCOVR_PATH gcovr PATHS ${CMAKE_SOURCE_DIR}/tests) +find_program( GCOVR_PATH gcovr PATHS ${CLEAVER2_SOURCE_DIR}/tests) if(NOT GCOV_PATH) message(FATAL_ERROR "gcov not found! Aborting...") @@ -117,7 +117,7 @@ function(SETUP_TARGET_FOR_COVERAGE _targetname _testrunner _outputname) COMMAND ${GENHTML_PATH} -o ${_outputname} ${_outputname}.info.cleaned COMMAND ${CMAKE_COMMAND} -E remove ${_outputname}.info ${_outputname}.info.cleaned - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + WORKING_DIRECTORY ${CLEAVER2_BINARY_DIR} COMMENT "Resetting code coverage counters to zero.\nProcessing code coverage counters and generating report." ) @@ -150,8 +150,8 @@ function(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname ${_testrunner} ${ARGV3} # Running gcovr - COMMAND ${GCOVR_PATH} -x -r ${CMAKE_SOURCE_DIR} -e '${CMAKE_SOURCE_DIR}/tests/' -o ${_outputname}.xml - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + COMMAND ${GCOVR_PATH} -x -r ${CLEAVER2_SOURCE_DIR} -e '${CLEAVER2_SOURCE_DIR}/tests/' -o ${_outputname}.xml + WORKING_DIRECTORY ${CLEAVER2_BINARY_DIR} COMMENT "Running gcovr to produce Cobertura code coverage report." ) diff --git a/src/lib/cleaver/CMakeLists.txt b/src/lib/cleaver/CMakeLists.txt index 95d4fcc1..35a8c43a 100644 --- a/src/lib/cleaver/CMakeLists.txt +++ b/src/lib/cleaver/CMakeLists.txt @@ -79,7 +79,7 @@ set(Cleaver_API_HEADER_FILES add_definitions(-DTETLIBRARY) # Add library includes -include_directories(${CMAKE_BINARY_DIR}/include) +include_directories(${CLEAVER2_BINARY_DIR}/include) option(COPY_HEADER_FILES OFF) @@ -90,10 +90,10 @@ if(COPY_HEADER_FILES) #TODO: Needs to be added to installation step for using as # When debugging, uncomment this line get_filename_component(file_no_path "${header_file}" NAME) configure_file("${header_file}" - "${CMAKE_BINARY_DIR}/include/cleaver/${file_no_path}" COPYONLY IMMEDIATE) + "${CLEAVER2_BINARY_DIR}/include/cleaver/${file_no_path}" COPYONLY IMMEDIATE) set(Cleaver_INSTALLED_HEADER_FILES ${Cleaver_INSTALLED_HEADER_FILES} - "${CMAKE_BINARY_DIR}/include/cleaver/${file_no_path}") + "${CLEAVER2_BINARY_DIR}/include/cleaver/${file_no_path}") endforeach() endif() diff --git a/src/lib/jsoncpp/CMakeLists.txt b/src/lib/jsoncpp/CMakeLists.txt index 5a087c8e..3430259b 100644 --- a/src/lib/jsoncpp/CMakeLists.txt +++ b/src/lib/jsoncpp/CMakeLists.txt @@ -17,10 +17,10 @@ set(JSONCPP_INSTALLED_HEADER_FILES) foreach(header_file ${JSONCPP_API_HEADER_FILES}) get_filename_component(file_no_path "${header_file}" NAME) configure_file("${header_file}" - "${CMAKE_BINARY_DIR}/include/jsoncpp/${file_no_path}" COPYONLY IMMEDIATE) + "${CLEAVER2_BINARY_DIR}/include/jsoncpp/${file_no_path}" COPYONLY IMMEDIATE) set(JSONCPP_INSTALLED_HEADER_FILES ${JSONCPP_INSTALLED_HEADER_FILES} - "${CMAKE_BINARY_DIR}/include/jsoncpp/${file_no_path}") + "${CLEAVER2_BINARY_DIR}/include/jsoncpp/${file_no_path}") endforeach() # output library diff --git a/src/lib/nrrd2cleaver/teem/CMakeLists.txt b/src/lib/nrrd2cleaver/teem/CMakeLists.txt index fd500769..25f7bf52 100644 --- a/src/lib/nrrd2cleaver/teem/CMakeLists.txt +++ b/src/lib/nrrd2cleaver/teem/CMakeLists.txt @@ -50,10 +50,10 @@ foreach(header_file ${Nrrd2Cleaver_API_HEADER_FILES}) #message(STATUS "Copy header file: ${header_file}") get_filename_component(file_no_path "${header_file}" NAME) configure_file("${header_file}" - "${CMAKE_BINARY_DIR}/include/nrrd2cleaver/${file_no_path}" COPYONLY IMMEDIATE) + "${CLEAVER2_BINARY_DIR}/include/nrrd2cleaver/${file_no_path}" COPYONLY IMMEDIATE) set(Nrrd2Cleaver_INSTALLED_HEADER_FILES ${Nrrd2Cleaver_INSTALLED_HEADER_FILES} - "${CMAKE_BINARY_DIR}/include/nrrd2cleaver/${file_no_path}") + "${CLEAVER2_BINARY_DIR}/include/nrrd2cleaver/${file_no_path}") endforeach() diff --git a/src/lib/synthetic/CMakeLists.txt b/src/lib/synthetic/CMakeLists.txt index 0021f623..21b09dbc 100644 --- a/src/lib/synthetic/CMakeLists.txt +++ b/src/lib/synthetic/CMakeLists.txt @@ -35,7 +35,7 @@ project(synthetic) cmake_minimum_required(VERSION 3.10.2) # Add library incl1udes -include_directories(${CMAKE_BINARY_DIR}/include) +include_directories(${CLEAVER2_BINARY_DIR}/include) include_directories(${CMAKE_CURRENT_BINARY_DIR} ./) include_directories(${CMAKE_CURRENT_BINARY_DIR} ../) @@ -58,10 +58,10 @@ foreach(header_file ${Synthetic_API_HEADER_FILES}) #message(STATUS "Copy header file: ${header_file}") get_filename_component(file_no_path "${header_file}" NAME) configure_file("${header_file}" - "${CMAKE_BINARY_DIR}/include/Synthetic/${file_no_path}" COPYONLY IMMEDIATE) + "${CLEAVER2_BINARY_DIR}/include/Synthetic/${file_no_path}" COPYONLY IMMEDIATE) set(Synthetic_INSTALLED_HEADER_FILES ${Synthetic_INSTALLED_HEADER_FILES} - "${CMAKE_BINARY_DIR}/include/Synthetic/${file_no_path}") + "${CLEAVER2_BINARY_DIR}/include/Synthetic/${file_no_path}") endforeach() # output library diff --git a/src/lib/teem/CMake/CheckBigBitfield.cmake b/src/lib/teem/CMake/CheckBigBitfield.cmake index 30297b23..4af2c24a 100644 --- a/src/lib/teem/CMake/CheckBigBitfield.cmake +++ b/src/lib/teem/CMake/CheckBigBitfield.cmake @@ -32,18 +32,18 @@ macro(CHECK_BIG_BITFIELD VARIABLE LOCAL_TEST_DIR) if("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$") message(STATUS "Checking to see if this platform supports large bit-fields (>32 bits)") try_run(DUMMY ${VARIABLE} - ${CMAKE_BINARY_DIR} + ${CLEAVER2_BINARY_DIR} ${LOCAL_TEST_DIR}/CheckBigBitfield.c OUTPUT_VARIABLE OUTPUT) if(${VARIABLE}) set(HAVE_${VARIABLE} TRUE CACHE INTERNAL " ") message(STATUS "Checking to see if this platform supports large bit-fields (>32 bits) - yes") - file(APPEND ${CMAKE_BINARY_DIR}/CMakeOutput.log + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeOutput.log "Checking to see if this platform supports large bit-fields (>32 bits) passed with " "the following output:\n${OUTPUT}\n\n") else() message(STATUS "Checking to see if this platform supports large bit-fields (>32 bits) - no") - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "Checking to see if this platform supports large bit-fields (>32 bits) failed with " "the following output:\n${OUTPUT}\n\n") endif() diff --git a/src/lib/teem/CMake/TestNO_ICC_IDYNAMIC_NEEDED.cmake b/src/lib/teem/CMake/TestNO_ICC_IDYNAMIC_NEEDED.cmake index 2b3370a2..8f7ed7f9 100644 --- a/src/lib/teem/CMake/TestNO_ICC_IDYNAMIC_NEEDED.cmake +++ b/src/lib/teem/CMake/TestNO_ICC_IDYNAMIC_NEEDED.cmake @@ -29,25 +29,25 @@ macro(TESTNO_ICC_IDYNAMIC_NEEDED VARIABLE LOCAL_TEST_DIR) if("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$") try_run(${VARIABLE} HAVE_${VARIABLE} - ${CMAKE_BINARY_DIR} + ${CLEAVER2_BINARY_DIR} ${LOCAL_TEST_DIR}/TestNO_ICC_IDYNAMIC_NEEDED.cxx OUTPUT_VARIABLE OUTPUT) message(STATUS "Check if using the Intel icc compiler, and if -i_dynamic is needed... COMPILE_RESULT...${HAVE_${VARIABLE}} RUN_RESULT...${VARIABLE}\n") if(HAVE_${VARIABLE}) #Test compiled, either working intel w/o -i_dynamic, or another compiler if(${VARIABLE}) #Intel icc compiler, -i_dynamic not needed - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "-i_dynamic not needed, (Not Intel icc, or this version of Intel icc does not conflict with OS glibc.") message(STATUS "-i_dynamic not needed, (Not Intel icc, or this version of Intel icc does not conflict with OS glibc.") else() #The compiler is not Intel icc - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "The compiler ERROR--This should never happen") message(STATUS "The compiler ERROR--This should never happen") endif() else() #Test did not compile, either badly broken compiler, or intel -i_dynamic needed - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "\tThe -i_dynamic compiler flag is needed for the Intel icc compiler on this platform.\n") message("The -i_dynamic compiler flag is needed for the Intel icc compiler on this platform.") endif() - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log "TestNO_ICC_IDYNAMIC_NEEDED produced following output:\n${OUTPUT}\n\n") + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "TestNO_ICC_IDYNAMIC_NEEDED produced following output:\n${OUTPUT}\n\n") endif() endmacro() diff --git a/src/lib/teem/CMake/TestQnanhibit.cmake b/src/lib/teem/CMake/TestQnanhibit.cmake index d2902cf8..9fe9fa80 100644 --- a/src/lib/teem/CMake/TestQnanhibit.cmake +++ b/src/lib/teem/CMake/TestQnanhibit.cmake @@ -31,7 +31,7 @@ macro(TEST_QNANHIBIT VARIABLE LOCAL_TEST_DIR) if("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$") try_run(${VARIABLE} HAVE_${VARIABLE} - ${CMAKE_BINARY_DIR} + ${CLEAVER2_BINARY_DIR} ${LOCAL_TEST_DIR}/TestQnanhibit.c OUTPUT_VARIABLE OUTPUT) message(STATUS "Check the value of the 22nd bit of a 32-bit quiet-NaN") @@ -40,19 +40,19 @@ macro(TEST_QNANHIBIT VARIABLE LOCAL_TEST_DIR) message(ERROR " A test (qnanhibit.c) necessary for NrrdIO configuration returned error code. NrrdIO may not properly handle NaN's.") endif() if(${VARIABLE}) - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "Value of the 22nd bit of a 32-bit quiet-NaN is 1") message(STATUS "Check the value of the 22nd bit of a 32-bit quiet-NaN - 1") else() - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "Value of the 22nd bit of a 32-bit quiet-NaN is 0") message(STATUS "Check the value of the 22nd bit of a 32-bit quiet-NaN - 0") endif() else() - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "\tFailed to compile a test (TestQnanhibit.c) necessary to configure for proper handling of IEEE floating point NaN's.\n") message(STATUS "Failed to compile a test (TestQnanhibit.c) necessary to configure for proper handling of IEEE floating point NaN's") endif() - file(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log "TestQnanhibit.c produced following output:\n${OUTPUT}\n\n") + file(APPEND ${CLEAVER2_BINARY_DIR}/CMakeError.log "TestQnanhibit.c produced following output:\n${OUTPUT}\n\n") endif() endmacro() diff --git a/src/lib/teem/CMakeLists.txt b/src/lib/teem/CMakeLists.txt index 8be233dc..9232c9ae 100644 --- a/src/lib/teem/CMakeLists.txt +++ b/src/lib/teem/CMakeLists.txt @@ -60,8 +60,8 @@ include (CMakeBackwardCompatibilityC) #----------------------------------------------------------------------------- # Output directories. -set (LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.") -set (EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") +set (LIBRARY_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.") +set (EXECUTABLE_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") #output directory for installing all include files.") mark_as_advanced(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) set(Teem_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}") @@ -279,16 +279,16 @@ foreach(header_file ${Teem_HEADER_FILES}) #message(STATUS "Copy header file: ${header_file}") get_filename_component(file_no_path "${header_file}" NAME) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/${header_file}" - "${CMAKE_BINARY_DIR}/include/teem/${file_no_path}" COPYONLY IMMEDIATE) + "${CLEAVER2_BINARY_DIR}/include/teem/${file_no_path}" COPYONLY IMMEDIATE) set(Teem_INSTALLED_HEADER_FILES ${Teem_INSTALLED_HEADER_FILES} - "${CMAKE_BINARY_DIR}/include/teem/${file_no_path}") + "${CLEAVER2_BINARY_DIR}/include/teem/${file_no_path}") endforeach() #--- # Include directory include_directories( - "${CMAKE_BINARY_DIR}/include/" + "${CLEAVER2_BINARY_DIR}/include/" "${Teem_SOURCE_DIR}/include/" ) diff --git a/src/lib/teem/DartConfig.cmake b/src/lib/teem/DartConfig.cmake index a3f538fe..61fea43f 100755 --- a/src/lib/teem/DartConfig.cmake +++ b/src/lib/teem/DartConfig.cmake @@ -20,7 +20,7 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # -include(${CMAKE_SOURCE_DIR}/CTestConfig.cmake) +include(${CLEAVER2_SOURCE_DIR}/CTestConfig.cmake) set(NIGHTLY_START_TIME "${CTEST_NIGHTLY_START_TIME}") set(DROP_METHOD "${CTEST_DROP_METHOD}") set(DROP_SITE "${CTEST_DROP_SITE}") diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 9dbf9030..5fa9fe89 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -1,5 +1,5 @@ # gtest external download -set(EXTERNAL_DIR "${CMAKE_BINARY_DIR}/externals") +set(EXTERNAL_DIR "${CLEAVER2_BINARY_DIR}/externals") set(GTEST_INSTALL_DIR "${EXTERNAL_DIR}/googletest") if(WIN32) set(GTEST_SHARED_ARG ON) @@ -95,7 +95,7 @@ add_dependencies(${GMOCK_MAIN_LIBRARY} ${GTEST_LIBRARY}) # Definitions for Tests -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/test/bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CLEAVER2_BINARY_DIR}/test/bin) #test macro function(NEWTEST name) add_executable(${name} ${name}.cpp ${ARGN}) From 8c0bcae5edb7fc7c19833389ba28203700039243 Mon Sep 17 00:00:00 2001 From: stevencui2 Date: Tue, 1 Jul 2025 09:28:50 -0400 Subject: [PATCH 4/5] ignore gtest werror maybe uninitialzied for debug build --- src/test/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 5fa9fe89..4e8a6246 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -46,6 +46,9 @@ ExternalProject_Add(googletest BINARY_DIR "${GTEST_INSTALL_DIR}/lib" INSTALL_COMMAND "" ${_ep_arg_build_byproducts} + CMAKE_ARGS + -DCMAKE_CXX_FLAGS=-Wno-error=maybe-uninitialized + -DCMAKE_C_FLAGS=-Wno-error=maybe-uninitialized ) # Copy and Specify Include Directory From 3f4ced2235424a890bbbdf292307954426f43b2b Mon Sep 17 00:00:00 2001 From: stevencui2 Date: Tue, 1 Jul 2025 10:08:07 -0400 Subject: [PATCH 5/5] unset cleaver executable output path to stop propagating it to the repo consume cleaver --- src/CMakeLists.txt | 4 ++-- src/lib/teem/CMakeLists.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ba12c56a..b9d51f88 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -59,8 +59,8 @@ include(cleaverInitializeBuildType) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -set(EXECUTABLE_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/bin CACHE INTERNAL - "Single output directory for building all executables.") +# set(EXECUTABLE_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/bin CACHE INTERNAL +# "Single output directory for building all executables.") mark_as_advanced( CLEAVER2_RUNTIME_DIR CLEAVER2_BUNDLE_DIR) set(CLEAVER2_RUNTIME_DIR "bin" CACHE STRING diff --git a/src/lib/teem/CMakeLists.txt b/src/lib/teem/CMakeLists.txt index 9232c9ae..6b5ca1b9 100644 --- a/src/lib/teem/CMakeLists.txt +++ b/src/lib/teem/CMakeLists.txt @@ -60,8 +60,8 @@ include (CMakeBackwardCompatibilityC) #----------------------------------------------------------------------------- # Output directories. -set (LIBRARY_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.") -set (EXECUTABLE_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") +# set (LIBRARY_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.") +# set (EXECUTABLE_OUTPUT_PATH ${CLEAVER2_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.") #output directory for installing all include files.") mark_as_advanced(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH) set(Teem_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}")