diff --git a/AK/CMakeLists.txt b/AK/CMakeLists.txt index 48eedf2ad7f..fadfaa1bad9 100644 --- a/AK/CMakeLists.txt +++ b/AK/CMakeLists.txt @@ -62,7 +62,7 @@ swizzle_target_properties_for_swift(simdutf::simdutf) target_link_libraries(AK PRIVATE simdutf::simdutf) # FIXME: Make this generic for all imported shared library dependencies and apply globally -if (NOT CMAKE_SKIP_INSTALL_RULES AND NOT "${VCPKG_INSTALLED_DIR}" STREQUAL "") +if (BUILD_SHARED_LIBS AND NOT CMAKE_SKIP_INSTALL_RULES AND NOT "${VCPKG_INSTALLED_DIR}" STREQUAL "") install(IMPORTED_RUNTIME_ARTIFACTS simdutf::simdutf LIBRARY COMPONENT Lagom_Runtime NAMELINK_COMPONENT Lagom_Development FRAMEWORK COMPONENT Lagom_Runtime diff --git a/CMakePresets.json b/CMakePresets.json index a8033f8c258..24274d5af2c 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -87,6 +87,18 @@ "generator": "Visual Studio 17 2022", "toolset": "ClangCL" }, + { + "name": "Distribution", + "inherits": "default", + "displayName": "Distribution Config", + "description": "Distribution build with static libraries using Ninja generator", + "binaryDir": "${fileDir}/Build/distribution", + "cacheVariables": { + "BUILD_SHARED_LIBS": "OFF", + "CMAKE_BUILD_TYPE": "Release", + "VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/distribution-triplets" + } + }, { "name": "Debug", "inherits": "default", @@ -126,6 +138,15 @@ ], "displayName": "Non-Sanitizer CI Config" }, + { + "name": "Distribution_CI", + "inherits": [ + "vcpkg_ci", + "Distribution" + ], + "displayName": "Distribution CI Config", + "description": "Distribution build with GitHub Actions cache" + }, { "name": "Sanitizer_CI", "inherits": [ diff --git a/Meta/CMake/vcpkg/distribution-triplets/arm64-linux.cmake b/Meta/CMake/vcpkg/distribution-triplets/arm64-linux.cmake new file mode 100644 index 00000000000..41a0816eff1 --- /dev/null +++ b/Meta/CMake/vcpkg/distribution-triplets/arm64-linux.cmake @@ -0,0 +1,2 @@ +include (${CMAKE_CURRENT_LIST_DIR}/../base-triplets/arm64-linux.cmake) +include (${CMAKE_CURRENT_LIST_DIR}/distribution.cmake) diff --git a/Meta/CMake/vcpkg/distribution-triplets/arm64-osx.cmake b/Meta/CMake/vcpkg/distribution-triplets/arm64-osx.cmake new file mode 100644 index 00000000000..ed0b6ef577d --- /dev/null +++ b/Meta/CMake/vcpkg/distribution-triplets/arm64-osx.cmake @@ -0,0 +1,2 @@ +include (${CMAKE_CURRENT_LIST_DIR}/../base-triplets/arm64-osx.cmake) +include (${CMAKE_CURRENT_LIST_DIR}/distribution.cmake) diff --git a/Meta/CMake/vcpkg/distribution-triplets/distribution.cmake b/Meta/CMake/vcpkg/distribution-triplets/distribution.cmake new file mode 100644 index 00000000000..d19538159a8 --- /dev/null +++ b/Meta/CMake/vcpkg/distribution-triplets/distribution.cmake @@ -0,0 +1,2 @@ +set(VCPKG_BUILD_TYPE release) +set(VCPKG_LIBRARY_LINKAGE static) diff --git a/Meta/CMake/vcpkg/distribution-triplets/x64-linux.cmake b/Meta/CMake/vcpkg/distribution-triplets/x64-linux.cmake new file mode 100644 index 00000000000..f9e9343252b --- /dev/null +++ b/Meta/CMake/vcpkg/distribution-triplets/x64-linux.cmake @@ -0,0 +1,2 @@ +include (${CMAKE_CURRENT_LIST_DIR}/../base-triplets/x64-linux.cmake) +include (${CMAKE_CURRENT_LIST_DIR}/distribution.cmake) diff --git a/Meta/CMake/vcpkg/distribution-triplets/x64-osx.cmake b/Meta/CMake/vcpkg/distribution-triplets/x64-osx.cmake new file mode 100644 index 00000000000..7d77e5cc2ef --- /dev/null +++ b/Meta/CMake/vcpkg/distribution-triplets/x64-osx.cmake @@ -0,0 +1,2 @@ +include (${CMAKE_CURRENT_LIST_DIR}/../base-triplets/x64-osx.cmake) +include (${CMAKE_CURRENT_LIST_DIR}/distribution.cmake)