| author | |
| committer | |
| log | 50f0ed918c4f5c70685752188b6a3853fc7205b9 |
| tree | 3b157189c591f0b297271b1119050d1f87894aaa |
| parent | 8e08cf4bec80b87a7a22a18086a3db5c2c0f1772 |
6 files changed, 78 insertions(+), 0 deletions(-)
.gitignore created+1| ... | @@ -0,0 +1 @@ | ||
| 1 | build/ | ||
CMakeLists.txt created+41| ... | @@ -0,0 +1,41 @@ | ||
| 1 | cmake_minimum_required(VERSION 2.8) | ||
| 2 | |||
| 3 | set(CMAKE_BUILD_TYPE "Debug" CACHE STRING | ||
| 4 | "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) | ||
| 5 | |||
| 6 | project(zig C) | ||
| 7 | set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) | ||
| 8 | |||
| 9 | set(ZIG_VERSION_MAJOR 1) | ||
| 10 | set(ZIG_VERSION_MINOR 0) | ||
| 11 | set(ZIG_VERSION_PATCH 0) | ||
| 12 | set(ZIG_VERSION "${ZIG_VERSION_MAJOR}.${ZIG_VERSION_MINOR}.${ZIG_VERSION_PATCH}") | ||
| 13 | message("Configuring zig version ${ZIG_VERSION}") | ||
| 14 | |||
| 15 | find_package(llvm) | ||
| 16 | include_directories(${LLVM_INCLUDE_DIR}) | ||
| 17 | |||
| 18 | set(ZIG_SOURCES | ||
| 19 | "${CMAKE_SOURCE_DIR}/src/main.c" | ||
| 20 | ) | ||
| 21 | |||
| 22 | set(CONFIGURE_OUT_FILE "${CMAKE_BINARY_DIR}/config.h") | ||
| 23 | configure_file ( | ||
| 24 | "${CMAKE_SOURCE_DIR}/src/config.h.in" | ||
| 25 | ${CONFIGURE_OUT_FILE} | ||
| 26 | ) | ||
| 27 | |||
| 28 | set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wno-unused-variable -Wno-unused-but-set-variable") | ||
| 29 | |||
| 30 | set(EXE_CFLAGS "-std=c11 -Werror -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes") | ||
| 31 | set(TEST_CFLAGS "-std=c99 -Werror -Wall") | ||
| 32 | |||
| 33 | |||
| 34 | add_executable(zig ${ZIG_SOURCES}) | ||
| 35 | set_target_properties(zig PROPERTIES | ||
| 36 | LINKER_LANGUAGE C | ||
| 37 | COMPILE_FLAGS ${EXE_CFLAGS}) | ||
| 38 | target_link_libraries(zig LINK_PUBLIC | ||
| 39 | ${LLVM_LIBRARIES} | ||
| 40 | ) | ||
| 41 | install(TARGETS zig DESTINATION bin) | ||
README.md+1| ... | @@ -0,0 +1 @@ | ... | @@ -0,0 +1 @@ |
| 1 | # zig lang |
cmake/Findllvm.cmake created+21| ... | @@ -0,0 +1,21 @@ | ||
| 1 | # Copyright (c) 2014 Andrew Kelley | ||
| 2 | # This file is MIT licensed. | ||
| 3 | # See http://opensource.org/licenses/MIT | ||
| 4 | |||
| 5 | # LLVM_FOUND | ||
| 6 | # LLVM_INCLUDE_DIR | ||
| 7 | # LLVM_LIBRARIES | ||
| 8 | |||
| 9 | find_path(LLVM_INCLUDE_DIR NAMES llvm-c/Core.h) | ||
| 10 | |||
| 11 | find_program(LLVM_CONFIG_EXE llvm-config) | ||
| 12 | |||
| 13 | execute_process( | ||
| 14 | COMMAND ${LLVM_CONFIG_EXE} --libs | ||
| 15 | OUTPUT_VARIABLE LLVM_LIBRARIES | ||
| 16 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 17 | |||
| 18 | include(FindPackageHandleStandardArgs) | ||
| 19 | find_package_handle_standard_args(LLVM DEFAULT_MSG LLVM_LIBRARIES LLVM_INCLUDE_DIR) | ||
| 20 | |||
| 21 | mark_as_advanced(LLVM_INCLUDE_DIR LLVM_LIBRARIES) | ||
src/config.h.in created+9| ... | @@ -0,0 +1,9 @@ | ||
| 1 | #ifndef ZIG_CONFIG_H | ||
| 2 | #define ZIG_CONFIG_H | ||
| 3 | |||
| 4 | #define ZIG_VERSION_MAJOR @ZIG_VERSION_MAJOR@ | ||
| 5 | #define ZIG_VERSION_MINOR @ZIG_VERSION_MINOR@ | ||
| 6 | #define ZIG_VERSION_PATCH @ZIG_VERSION_PATCH@ | ||
| 7 | #define ZIG_VERSION_STRING "@ZIG_VERSION@" | ||
| 8 | |||
| 9 | #endif | ||
src/main.c created+5| ... | @@ -0,0 +1,5 @@ | ||
| 1 | #include <stdio.h> | ||
| 2 | |||
| 3 | int main(int argc, char **argv) { | ||
| 4 | return 0; | ||
| 5 | } | ||