diff --git a/cmake/CompilerFlags.cmake b/cmake/CompilerFlags.cmake index b9ae804f06..cff32fb166 100644 --- a/cmake/CompilerFlags.cmake +++ b/cmake/CompilerFlags.cmake @@ -215,46 +215,6 @@ if(ENABLE_ASSERTIONS) DESCRIPTION "Do not eliminate null-pointer checks" -fno-delete-null-pointer-checks ) - - register_compiler_definitions( - DESCRIPTION "Enable libc++ assertions" - _LIBCPP_ENABLE_ASSERTIONS=1 - _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE ${RELEASE} - _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG ${DEBUG} - ) - - # Nix glibc already sets _FORTIFY_SOURCE, don't override it - if(NOT DEFINED ENV{NIX_CC}) - register_compiler_definitions( - DESCRIPTION "Enable fortified sources (Release only)" - _FORTIFY_SOURCE=3 ${RELEASE} - ) - endif() - - if(LINUX) - register_compiler_definitions( - DESCRIPTION "Enable glibc++ assertions" - _GLIBCXX_ASSERTIONS=1 - ) - endif() -else() - register_compiler_definitions( - DESCRIPTION "Disable debug assertions" - NDEBUG=1 - ) - - register_compiler_definitions( - DESCRIPTION "Disable libc++ assertions" - _LIBCPP_ENABLE_ASSERTIONS=0 - _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE - ) - - if(LINUX) - register_compiler_definitions( - DESCRIPTION "Disable glibc++ assertions" - _GLIBCXX_ASSERTIONS=0 - ) - endif() endif() # --- Diagnostics --- @@ -305,14 +265,6 @@ if(UNIX AND CI) ) endif() -# --- Features --- - -# Valgrind cannot handle SSE4.2 instructions -# This is needed for picohttpparser -if(ENABLE_VALGRIND AND ARCH STREQUAL "x64") - register_compiler_definitions(__SSE4_2__=0) -endif() - # --- Other --- # Workaround for CMake and clang-cl bug. diff --git a/cmake/Globals.cmake b/cmake/Globals.cmake index 941e98b421..a5484a8b08 100644 --- a/cmake/Globals.cmake +++ b/cmake/Globals.cmake @@ -136,13 +136,6 @@ else() set(WARNING WARNING) endif() -# TODO: This causes flaky zig builds in CI, so temporarily disable it. -# if(CI) -# set(DEFAULT_VENDOR_PATH ${CACHE_PATH}/vendor) -# else() -# set(DEFAULT_VENDOR_PATH ${CWD}/vendor) -# endif() - optionx(VENDOR_PATH FILEPATH "The path to the vendor directory" DEFAULT ${CWD}/vendor) optionx(TMP_PATH FILEPATH "The path to the temporary directory" DEFAULT ${BUILD_PATH}/tmp) @@ -917,10 +910,6 @@ function(register_compiler_flags) endforeach() endfunction() -function(register_compiler_definitions) - -endfunction() - # register_linker_flags() # Description: # Registers a linker flag, similar to `add_link_options()`. diff --git a/cmake/Options.cmake b/cmake/Options.cmake index 93a3698563..ac6ce10c74 100644 --- a/cmake/Options.cmake +++ b/cmake/Options.cmake @@ -140,11 +140,6 @@ if(ENABLE_ASAN AND ENABLE_LTO) setx(ENABLE_LTO OFF) endif() -if(USE_VALGRIND AND NOT USE_BASELINE) - message(WARNING "If valgrind is enabled, baseline must also be enabled") - setx(USE_BASELINE ON) -endif() - if(BUILDKITE_COMMIT) set(DEFAULT_REVISION ${BUILDKITE_COMMIT}) else() diff --git a/cmake/analysis/RunCppCheck.cmake b/cmake/analysis/RunCppCheck.cmake deleted file mode 100644 index a384a44863..0000000000 --- a/cmake/analysis/RunCppCheck.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# https://cppcheck.sourceforge.io/ - -find_command( - VARIABLE - CPPCHECK_EXECUTABLE - COMMAND - cppcheck - REQUIRED - OFF -) - -set(CPPCHECK_COMMAND ${CPPCHECK_EXECUTABLE} - --cppcheck-build-dir=${BUILD_PATH}/cppcheck - --project=${BUILD_PATH}/compile_commands.json - --clang=${CMAKE_CXX_COMPILER} - --std=c++${CMAKE_CXX_STANDARD} - --report-progress - --showtime=summary -) - -register_command( - TARGET - cppcheck - COMMENT - "Running cppcheck" - COMMAND - ${CMAKE_COMMAND} -E make_directory cppcheck - && ${CPPCHECK_COMMAND} - CWD - ${BUILD_PATH} - TARGETS - ${bun} -) diff --git a/cmake/analysis/RunCppLint.cmake b/cmake/analysis/RunCppLint.cmake deleted file mode 100644 index 5b9264ecf5..0000000000 --- a/cmake/analysis/RunCppLint.cmake +++ /dev/null @@ -1,22 +0,0 @@ -find_command( - VARIABLE - CPPLINT_PROGRAM - COMMAND - cpplint - REQUIRED - OFF -) - -register_command( - TARGET - cpplint - COMMENT - "Running cpplint" - COMMAND - ${CPPLINT_PROGRAM} - ${BUN_CPP_SOURCES} - CWD - ${BUILD_PATH} - TARGETS - ${bun} -) diff --git a/cmake/analysis/RunIWYU.cmake b/cmake/analysis/RunIWYU.cmake deleted file mode 100644 index 0ea555f2f5..0000000000 --- a/cmake/analysis/RunIWYU.cmake +++ /dev/null @@ -1,67 +0,0 @@ -# IWYU = "Include What You Use" -# https://include-what-you-use.org/ - -setx(IWYU_SOURCE_PATH ${CACHE_PATH}/iwyu-${LLVM_VERSION}) -setx(IWYU_BUILD_PATH ${IWYU_SOURCE_PATH}/build) -setx(IWYU_PROGRAM ${IWYU_BUILD_PATH}/bin/include-what-you-use) - -register_repository( - NAME - iwyu - REPOSITORY - include-what-you-use/include-what-you-use - BRANCH - clang_${LLVM_VERSION} - PATH - ${IWYU_SOURCE_PATH} -) - -register_command( - TARGET - build-iwyu - COMMENT - "Building iwyu" - COMMAND - ${CMAKE_COMMAND} - -B${IWYU_BUILD_PATH} - -G${CMAKE_GENERATOR} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} - -DIWYU_LLVM_ROOT_PATH=${LLVM_PREFIX} - && ${CMAKE_COMMAND} - --build ${IWYU_BUILD_PATH} - CWD - ${IWYU_SOURCE_PATH} - TARGETS - clone-iwyu -) - -find_command( - VARIABLE - PYTHON_EXECUTABLE - COMMAND - python3 - python - VERSION - >=3.0.0 - REQUIRED - OFF -) - -register_command( - TARGET - iwyu - COMMENT - "Running iwyu" - COMMAND - ${CMAKE_COMMAND} - -E env IWYU_BINARY=${IWYU_PROGRAM} - ${PYTHON_EXECUTABLE} - ${IWYU_SOURCE_PATH}/iwyu_tool.py - -p ${BUILD_PATH} - CWD - ${BUILD_PATH} - TARGETS - build-iwyu - ${bun} -) diff --git a/cmake/targets/BuildBun.cmake b/cmake/targets/BuildBun.cmake index b5adbc4d43..6155f10c7b 100644 --- a/cmake/targets/BuildBun.cmake +++ b/cmake/targets/BuildBun.cmake @@ -45,12 +45,6 @@ else() endif() set(LLVM_ZIG_CODEGEN_THREADS 0) -# This makes the build slower, so we turn it off for now. -# if (DEBUG) -# include(ProcessorCount) -# ProcessorCount(CPU_COUNT) -# set(LLVM_ZIG_CODEGEN_THREADS ${CPU_COUNT}) -# endif() # --- Dependencies --- @@ -71,9 +65,6 @@ set(BUN_DEPENDENCIES ) include(CloneZstd) -# foreach(dependency ${BUN_DEPENDENCIES}) -# include(Clone${dependency}) -# endforeach() # --- Codegen --- @@ -1261,15 +1252,9 @@ if(LINUX) target_link_libraries(${bun} PUBLIC libatomic.so) endif() - if(USE_SYSTEM_ICU) - target_link_libraries(${bun} PRIVATE libicudata.a) - target_link_libraries(${bun} PRIVATE libicui18n.a) - target_link_libraries(${bun} PRIVATE libicuuc.a) - else() - target_link_libraries(${bun} PRIVATE ${WEBKIT_LIB_PATH}/libicudata.a) - target_link_libraries(${bun} PRIVATE ${WEBKIT_LIB_PATH}/libicui18n.a) - target_link_libraries(${bun} PRIVATE ${WEBKIT_LIB_PATH}/libicuuc.a) - endif() + target_link_libraries(${bun} PRIVATE ${WEBKIT_LIB_PATH}/libicudata.a) + target_link_libraries(${bun} PRIVATE ${WEBKIT_LIB_PATH}/libicui18n.a) + target_link_libraries(${bun} PRIVATE ${WEBKIT_LIB_PATH}/libicuuc.a) endif() if(WIN32) @@ -1322,32 +1307,32 @@ if(NOT BUN_CPP_ONLY) OUTPUTS ${BUILD_PATH}/${bunStripExe} ) - + # Then sign both executables on Windows if(WIN32 AND ENABLE_WINDOWS_CODESIGNING) set(SIGN_SCRIPT "${CMAKE_SOURCE_DIR}/.buildkite/scripts/sign-windows.ps1") - + # Verify signing script exists if(NOT EXISTS "${SIGN_SCRIPT}") message(FATAL_ERROR "Windows signing script not found: ${SIGN_SCRIPT}") endif() - + # Use PowerShell for Windows code signing (native Windows, no path issues) - find_program(POWERSHELL_EXECUTABLE + find_program(POWERSHELL_EXECUTABLE NAMES pwsh.exe powershell.exe - PATHS + PATHS "C:/Program Files/PowerShell/7" "C:/Program Files (x86)/PowerShell/7" "C:/Windows/System32/WindowsPowerShell/v1.0" DOC "Path to PowerShell executable" ) - + if(NOT POWERSHELL_EXECUTABLE) set(POWERSHELL_EXECUTABLE "powershell.exe") endif() - + message(STATUS "Using PowerShell executable: ${POWERSHELL_EXECUTABLE}") - + # Sign both bun-profile.exe and bun.exe after stripping register_command( TARGET