From dd2f2ffcbea353f92b4607baed36928ecf2cf635 Mon Sep 17 00:00:00 2001 From: tapple Date: Tue, 10 Nov 2026 10:26:24 +0100 Subject: [PATCH 1/2] cmake: Use CMAKE_CURRENT_SOURCE_DIR for subdirectory builds --- CMakeLists.txt | 8 ++++---- Tailslide/CMakeLists.txt | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b9ab819..91d60bde 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,10 +56,10 @@ if(LUAU_SANITIZE) endif() # Embed builtins.txt into a header file at configure time -file(READ "${CMAKE_SOURCE_DIR}/builtins.txt" BUILTINS_HEX HEX) +file(READ "${CMAKE_CURRENT_SOURCE_DIR}/builtins.txt" BUILTINS_HEX HEX) string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1, " BUILTINS_HEX_ARRAY "${BUILTINS_HEX}") configure_file( - "${CMAKE_SOURCE_DIR}/LSLBuiltins/src/builtins_embedded.h.in" + "${CMAKE_CURRENT_SOURCE_DIR}/LSLBuiltins/src/builtins_embedded.h.in" "${CMAKE_BINARY_DIR}/builtins_embedded.h" @ONLY ) @@ -329,8 +329,8 @@ endif() # ServerLua: GCC doesn't support the FP_CONTRACT pragma, so we have to use this to tell it it not to # fuse multiply and add for these files. set(FP_SENSITIVE_SOURCE_FILES - ${CMAKE_SOURCE_DIR}/VM/src/lll.cpp - ${CMAKE_SOURCE_DIR}/VM/src/llsl.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/VM/src/lll.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/VM/src/llsl.cpp ) set_source_files_properties(${FP_SENSITIVE_SOURCE_FILES} PROPERTIES COMPILE_FLAGS "-ffp-contract=off") diff --git a/Tailslide/CMakeLists.txt b/Tailslide/CMakeLists.txt index 259e7fa9..0b81bd87 100644 --- a/Tailslide/CMakeLists.txt +++ b/Tailslide/CMakeLists.txt @@ -198,9 +198,9 @@ endif() if (TAILSLIDE_BUILD_CLI) add_executable(tailslide_cli tailslide_cli/main.cc) target_sources(tailslide_cli PRIVATE - ${CMAKE_SOURCE_DIR}/extern/cxxopt.hh + ${CMAKE_CURRENT_SOURCE_DIR}/extern/cxxopt.hh ) - target_include_directories(tailslide_cli PRIVATE tailslide ${CMAKE_SOURCE_DIR}/extern) + target_include_directories(tailslide_cli PRIVATE tailslide ${CMAKE_CURRENT_SOURCE_DIR}/extern) target_link_libraries(tailslide_cli PUBLIC ${EXTRA_LIBS} libtailslide) set_target_properties(tailslide_cli PROPERTIES OUTPUT_NAME tailslide) endif() From 5ef39ca1be9476519cd17b6c4bdf13635d133c96 Mon Sep 17 00:00:00 2001 From: tapple Date: Wed, 11 Nov 2026 16:10:32 +0100 Subject: [PATCH 2/2] cmake: Use CMAKE_CURRENT_BINARY_DIR for builtins output and include dir --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 91d60bde..a90e5717 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,7 +60,7 @@ file(READ "${CMAKE_CURRENT_SOURCE_DIR}/builtins.txt" BUILTINS_HEX HEX) string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1, " BUILTINS_HEX_ARRAY "${BUILTINS_HEX}") configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/LSLBuiltins/src/builtins_embedded.h.in" - "${CMAKE_BINARY_DIR}/builtins_embedded.h" + "${CMAKE_CURRENT_BINARY_DIR}/builtins_embedded.h" @ONLY ) @@ -140,7 +140,7 @@ target_link_libraries(Luau.CLI.lib PUBLIC Luau.LSLBuiltins) target_compile_features(Luau.LSLBuiltins PUBLIC cxx_std_17) target_include_directories(Luau.LSLBuiltins PUBLIC LSLBuiltins/include) -target_include_directories(Luau.LSLBuiltins PRIVATE ${CMAKE_BINARY_DIR}) # For builtins_embedded.h +target_include_directories(Luau.LSLBuiltins PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) # For builtins_embedded.h target_link_libraries(Luau.LSLBuiltins PUBLIC Luau.Common) # ServerLua: the LSL frontend, needs Luau.LSLBuiltins configured first