| ... | @@ -1,23 +1,12 @@ | ... | @@ -1,23 +1,12 @@ |
| 1 | cmake_minimum_required(VERSION 3.15) | 1 | cmake_minimum_required(VERSION 3.15) |
| 2 | | 2 | |
| 3 | project(zig | | |
| 4 | DESCRIPTION | | |
| 5 | "Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software" | | |
| 6 | HOMEPAGE_URL | | |
| 7 | "https://ziglang.org" | | |
| 8 | LANGUAGES | | |
| 9 | C CXX | | |
| 10 | ) | | |
| 11 | | | |
| 12 | include(CheckSymbolExists) | | |
| 13 | | | |
| 14 | if(NOT CMAKE_BUILD_TYPE) | 3 | if(NOT CMAKE_BUILD_TYPE) |
| 15 | set(CMAKE_BUILD_TYPE "Debug" CACHE STRING | 4 | set(CMAKE_BUILD_TYPE "Debug" CACHE STRING |
| 16 | "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) | 5 | "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) |
| 17 | endif() | 6 | endif() |
| 18 | | 7 | |
| 19 | if(NOT CMAKE_INSTALL_PREFIX) | 8 | if(NOT CMAKE_INSTALL_PREFIX) |
| 20 | set(CMAKE_INSTALL_PREFIX "${PROJECT_BINARY_DIR}/stage3" CACHE STRING | 9 | set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/stage3" CACHE PATH |
| 21 | "Directory to install zig to" FORCE) | 10 | "Directory to install zig to" FORCE) |
| 22 | endif() | 11 | endif() |
| 23 | | 12 | |
| ... | @@ -37,8 +26,16 @@ else() | ... | @@ -37,8 +26,16 @@ else() |
| 37 | list(APPEND ZIG_CMAKE_PREFIX_PATH "${ZIG_CMAKE_PREFIX_PATH_STRING}") | 26 | list(APPEND ZIG_CMAKE_PREFIX_PATH "${ZIG_CMAKE_PREFIX_PATH_STRING}") |
| 38 | endif() | 27 | endif() |
| 39 | | 28 | |
| | 29 | list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") |
| 40 | | 30 | |
| 41 | list(PREPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") | 31 | project(zig |
| | 32 | DESCRIPTION |
| | 33 | "Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software" |
| | 34 | HOMEPAGE_URL |
| | 35 | "https://ziglang.org" |
| | 36 | LANGUAGES |
| | 37 | C CXX |
| | 38 | ) |
| 42 | | 39 | |
| 43 | set(ZIG_VERSION_MAJOR 0) | 40 | set(ZIG_VERSION_MAJOR 0) |
| 44 | set(ZIG_VERSION_MINOR 13) | 41 | set(ZIG_VERSION_MINOR 13) |
| ... | @@ -755,6 +752,8 @@ endforeach() | ... | @@ -755,6 +752,8 @@ endforeach() |
| 755 | | 752 | |
| 756 | # end of zigcpp target | 753 | # end of zigcpp target |
| 757 | | 754 | |
| | 755 | include(CheckSymbolExists) |
| | 756 | |
| 758 | string(TOLOWER "${CMAKE_HOST_SYSTEM_NAME}" ZIG_HOST_TARGET_OS) | 757 | string(TOLOWER "${CMAKE_HOST_SYSTEM_NAME}" ZIG_HOST_TARGET_OS) |
| 759 | if(ZIG_HOST_TARGET_OS STREQUAL "darwin") | 758 | if(ZIG_HOST_TARGET_OS STREQUAL "darwin") |
| 760 | set(ZIG_HOST_TARGET_OS "macos") | 759 | set(ZIG_HOST_TARGET_OS "macos") |
| ... | @@ -970,11 +969,13 @@ add_custom_target(stage3 ALL | ... | @@ -970,11 +969,13 @@ add_custom_target(stage3 ALL |
| 970 | DEPENDS "${PROJECT_BINARY_DIR}/stage3/bin/zig" | 969 | DEPENDS "${PROJECT_BINARY_DIR}/stage3/bin/zig" |
| 971 | ) | 970 | ) |
| 972 | | 971 | |
| | 972 | set(ZIG2_WORKING_DIR "${PROJECT_SOURCE_DIR}") |
| | 973 | |
| 973 | add_custom_command( | 974 | add_custom_command( |
| 974 | OUTPUT "${PROJECT_BINARY_DIR}/stage3/bin/zig" | 975 | OUTPUT "${PROJECT_BINARY_DIR}/stage3/bin/zig" |
| 975 | COMMAND zig2 build --prefix "${PROJECT_BINARY_DIR}/stage3" ${ZIG_BUILD_ARGS} | 976 | COMMAND zig2 build --prefix "${PROJECT_BINARY_DIR}/stage3" ${ZIG_BUILD_ARGS} |
| 976 | COMMENT STATUS "Building stage3" | 977 | COMMENT STATUS "Building stage3" |
| 977 | WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" | 978 | WORKING_DIRECTORY "${ZIG2_WORKING_DIR}" |
| 978 | ) | 979 | ) |
| 979 | | 980 | |
| 980 | if(WIN32) | 981 | if(WIN32) |
| ... | @@ -985,6 +986,6 @@ endif() | ... | @@ -985,6 +986,6 @@ endif() |
| 985 | | 986 | |
| 986 | install(CODE "set(ZIG_EXECUTABLE \"${ZIG_EXECUTABLE}\")") | 987 | install(CODE "set(ZIG_EXECUTABLE \"${ZIG_EXECUTABLE}\")") |
| 987 | install(CODE "set(ZIG_BUILD_ARGS \"${ZIG_BUILD_ARGS}\")") | 988 | install(CODE "set(ZIG_BUILD_ARGS \"${ZIG_BUILD_ARGS}\")") |
| | 989 | install(CODE "set(ZIG2_WORKING_DIR \"${ZIG2_WORKING_DIR}\")") |
| 988 | install(CODE "set(CMAKE_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\")") | 990 | install(CODE "set(CMAKE_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\")") |
| 989 | install(CODE "set(PROJECT_SOURCE_DIR \"${PROJECT_SOURCE_DIR}\")") | | |
| 990 | install(SCRIPT cmake/install.cmake) | 991 | install(SCRIPT cmake/install.cmake) |