╭─────────────╮ │scroll to top│ ╰─────────────╯ ╭ CMakeLists.txt ───────────────────────────────────────────────╮ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ╰───────────────────────────────────────────────────────────────╯
╭ find file ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╮ ╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │ │ │http│ ssh │ │ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╯ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
746 747 set(ZIG_EXTRA_BUILD_ARGS "" CACHE STRING "Extra zig build args") 748 if(ZIG_EXTRA_BUILD_ARGS) 749 list(APPEND ZIG_BUILD_ARGS ${ZIG_EXTRA_BUILD_ARGS}) 750 endif() 751 752 set(ZIG_RELEASE_SAFE OFF CACHE BOOL "Build Zig as ReleaseSafe (with debug assertions on)") 753 754 if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") 755 list(APPEND ZIG_BUILD_ARGS -Doptimize=Debug) 756 else() 757 if("${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel") 758 list(APPEND ZIG_BUILD_ARGS -Doptimize=ReleaseSmall) 759 else() 760 # Release and RelWithDebInfo 761 if(ZIG_RELEASE_SAFE) 762 list(APPEND ZIG_BUILD_ARGS -Doptimize=ReleaseSafe) 763 else() 764 list(APPEND ZIG_BUILD_ARGS -Doptimize=ReleaseFast) 765 endif() 766 if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") 767 list(APPEND ZIG_BUILD_ARGS -Dstrip) 768 endif() 769 endif() 770 endif() 771 772 if(ZIG_STATIC AND NOT MSVC) 773 list(APPEND ZIG_BUILD_ARGS -Duse-zig-libcxx) 774 endif() 775 776 if(ZIG_NO_LIB) 777 list(APPEND ZIG_BUILD_ARGS -Dno-lib) 778 endif() 779 780 if(ZIG_SINGLE_THREADED) 781 list(APPEND ZIG_BUILD_ARGS -Dsingle-threaded) 782 endif() 783 784 if(ZIG_PIE) 785 list(APPEND ZIG_BUILD_ARGS -Dpie) 786 endif() 787 788 if(NOT "${ZIG_TARGET_DYNAMIC_LINKER}" STREQUAL "") 789 list(APPEND ZIG_BUILD_ARGS "-Ddynamic-linker=${ZIG_TARGET_DYNAMIC_LINKER}") 790 endif() 791 792 793 add_custom_target(stage3 ALL 794 DEPENDS "${PROJECT_BINARY_DIR}/stage3/bin/zig" 795 ) 796 797 set(ZIG2_WORKING_DIR "${PROJECT_SOURCE_DIR}") 798 799 add_custom_command( 800 OUTPUT "${PROJECT_BINARY_DIR}/stage3/bin/zig" 801 COMMAND zig2 build ${ZIG_BUILD_ARGS} --prefix "${PROJECT_BINARY_DIR}/stage3" 802 COMMENT "Building stage3" 803 WORKING_DIRECTORY "${ZIG2_WORKING_DIR}" 804 ) 805 806 set(ZIG_EXECUTABLE "$<TARGET_FILE:zig2>") 807 808 install(CODE "set(ZIG_EXECUTABLE \"${ZIG_EXECUTABLE}\")") 809 install(CODE "set(ZIG_BUILD_ARGS \"${ZIG_BUILD_ARGS}\")") 810 install(CODE "set(ZIG2_WORKING_DIR \"${ZIG2_WORKING_DIR}\")") 811 install(CODE "set(CMAKE_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\")") 812 install(SCRIPT cmake/install.cmake) 813