| ... | @@ -45,7 +45,6 @@ message("Configuring zig version ${ZIG_VERSION}") | ... | @@ -45,7 +45,6 @@ message("Configuring zig version ${ZIG_VERSION}") |
| 45 | | 45 | |
| 46 | set(ZIG_STATIC off CACHE BOOL "Attempt to build a static zig executable (not compatible with glibc)") | 46 | set(ZIG_STATIC off CACHE BOOL "Attempt to build a static zig executable (not compatible with glibc)") |
| 47 | set(ZIG_STATIC_LLVM off CACHE BOOL "Prefer linking against static LLVM libraries") | 47 | set(ZIG_STATIC_LLVM off CACHE BOOL "Prefer linking against static LLVM libraries") |
| 48 | set(ZIG_SKIP_INSTALL_LIB_FILES off CACHE BOOL "Disable copying lib/ files to install prefix") | | |
| 49 | set(ZIG_ENABLE_MEM_PROFILE off CACHE BOOL "Activate memory usage instrumentation") | 48 | set(ZIG_ENABLE_MEM_PROFILE off CACHE BOOL "Activate memory usage instrumentation") |
| 50 | | 49 | |
| 51 | if(ZIG_STATIC) | 50 | if(ZIG_STATIC) |
| ... | @@ -608,19 +607,26 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") | ... | @@ -608,19 +607,26 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") |
| 608 | else() | 607 | else() |
| 609 | set(LIBUSERLAND_RELEASE_MODE "true") | 608 | set(LIBUSERLAND_RELEASE_MODE "true") |
| 610 | endif() | 609 | endif() |
| 611 | if(ZIG_SKIP_INSTALL_LIB_FILES) | 610 | |
| 612 | set(ZIG_BUILD_INSTALL_STEP "") | 611 | set(BUILD_LIBUSERLAND_COMMAND zig0 build |
| 613 | else() | | |
| 614 | set(ZIG_BUILD_INSTALL_STEP "install") | | |
| 615 | endif() | | |
| 616 | add_custom_target(zig_build_libuserland ALL | | |
| 617 | COMMAND zig0 build | | |
| 618 | --override-lib-dir "${CMAKE_SOURCE_DIR}/lib" | 612 | --override-lib-dir "${CMAKE_SOURCE_DIR}/lib" |
| 619 | libuserland ${ZIG_BUILD_INSTALL_STEP} | | |
| 620 | "-Doutput-dir=${CMAKE_BINARY_DIR}" | 613 | "-Doutput-dir=${CMAKE_BINARY_DIR}" |
| 621 | "-Drelease=${LIBUSERLAND_RELEASE_MODE}" | 614 | "-Drelease=${LIBUSERLAND_RELEASE_MODE}" |
| 622 | "-Dlib-files-only" | 615 | "-Dlib-files-only" |
| 623 | --prefix "${CMAKE_INSTALL_PREFIX}" | 616 | --prefix "${CMAKE_INSTALL_PREFIX}" |
| | 617 | libuserland |
| | 618 | ) |
| | 619 | |
| | 620 | # When using Visual Studio build system generator we default to libuserland install. |
| | 621 | if(MSVC) |
| | 622 | set(ZIG_SKIP_INSTALL_LIB_FILES off CACHE BOOL "Disable copying lib/ files to install prefix") |
| | 623 | if(NOT ZIG_SKIP_INSTALL_LIB_FILES) |
| | 624 | set(BUILD_LIBUSERLAND_COMMAND ${BUILD_LIBUSERLAND_COMMAND} install) |
| | 625 | endif() |
| | 626 | endif() |
| | 627 | |
| | 628 | add_custom_target(zig_build_libuserland ALL |
| | 629 | COMMAND ${BUILD_LIBUSERLAND_COMMAND} |
| 624 | DEPENDS zig0 | 630 | DEPENDS zig0 |
| 625 | BYPRODUCTS "${LIBUSERLAND}" | 631 | BYPRODUCTS "${LIBUSERLAND}" |
| 626 | WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" | 632 | WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" |
| ... | @@ -638,4 +644,9 @@ elseif(MINGW) | ... | @@ -638,4 +644,9 @@ elseif(MINGW) |
| 638 | target_link_libraries(zig ntdll) | 644 | target_link_libraries(zig ntdll) |
| 639 | endif() | 645 | endif() |
| 640 | add_dependencies(zig zig_build_libuserland) | 646 | add_dependencies(zig zig_build_libuserland) |
| | 647 | |
| 641 | install(TARGETS zig DESTINATION bin) | 648 | install(TARGETS zig DESTINATION bin) |
| | 649 | |
| | 650 | # CODE has no effect with Visual Studio build system generator |
| | 651 | install(CODE "message(\"-- Installing: /opt/zig/lib\")") |
| | 652 | install(CODE "execute_process(COMMAND ${BUILD_LIBUSERLAND_COMMAND} install)") |