<commit_before>cmake_minimum_required(VERSION 2.6.4)
project(EScript CXX)

set(ESCRIPT_VERSION_MAJOR 0)
set(ESCRIPT_VERSION_MINOR 6)
set(ESCRIPT_VERSION_PATCH 0)
set(ESCRIPT_VERSION ${ESCRIPT_VERSION_MAJOR}.${ESCRIPT_VERSION_MINOR}.${ESCRIPT_VERSION_PATCH})

# Set up install directories
set(INCLUDE_INSTALL_DIR include)
set(BIN_INSTALL_DIR bin)
set(LIB_INSTALL_DIR lib)
set(CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/EScript)

set(ESCRIPT_SOURCES
	EScript/Consts.cpp
	EScript/EScript.cpp
	EScript/Instructions/Instruction.cpp
	EScript/Instructions/InstructionBlock.cpp
	EScript/Objects/Callables/Delegate.cpp
	EScript/Objects/Callables/Function.cpp
	EScript/Objects/Callables/UserFunction.cpp
	EScript/Objects/Collections/Array.cpp
	EScript/Objects/Collections/Collection.cpp
	EScript/Objects/Collections/Map.cpp
	EScript/Objects/Exception.cpp
	EScript/Objects/ExtObject.cpp
	EScript/Objects/Iterator.cpp
	EScript/Objects/Identifier.cpp
	EScript/Objects/AST/BlockExpr.cpp
	EScript/Objects/AST/FunctionCallExpr.cpp
	EScript/Objects/AST/GetAttributeExpr.cpp
	EScript/Objects/AST/SetAttributeExpr.cpp
	EScript/Objects/AST/Statement.cpp
	EScript/Objects/AST/UserFunctionExpr.cpp
	EScript/Objects/Namespace.cpp
	EScript/Objects/Object.cpp
	EScript/Objects/Type.cpp
	EScript/Objects/Values/Bool.cpp
	EScript/Objects/Values/Number.cpp
	EScript/Objects/Values/NumberRef.cpp
	EScript/Objects/Values/String.cpp
	EScript/Objects/Values/Void.cpp
	EScript/Objects/YieldIterator.cpp
	EScript/Parser/Compiler.cpp
	EScript/Parser/CompilerContext.cpp
	EScript/Parser/Operators.cpp
	EScript/Parser/Parser.cpp
	EScript/Parser/Token.cpp
	EScript/Parser/Tokenizer.cpp
	EScript/Runtime/FunctionCallContext.cpp
	EScript/Runtime/Runtime.cpp
	EScript/Runtime/RuntimeInternals.cpp
	EScript/Utils/AttributeContainer.cpp
	EScript/Utils/Debug.cpp
	EScript/Utils/Hashing.cpp
	EScript/Utils/Helper.cpp
	EScript/Utils/IO/DefaultFileSystemHandler.cpp
	EScript/Utils/IO/IO.cpp
	EScript/Utils/Logger.cpp
	EScript/Utils/StringData.cpp
	EScript/Utils/StringUtils.cpp
	E_Libs/ext/Rand.cpp
	E_Libs/ext/JSON.cpp
	E_Libs/IOLib.cpp
	E_Libs/StdLib.cpp
	E_Libs/MathLib.cpp
)
if(WIN32)
	list(APPEND ESCRIPT_SOURCES E_Libs/Win32Lib.cpp)
endif()
add_library(EScript SHARED ${ESCRIPT_SOURCES})

# Set version of library
set_target_properties(EScript PROPERTIES VERSION ${ESCRIPT_VERSION}
                                         SOVERSION ${ESCRIPT_VERSION_MAJOR})

# Install the header files
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Instructions/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Instructions)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/Callables/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects/Callables)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/Collections/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects/Collections)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/AST/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects/AST)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/Values/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects/Values)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Runtime/*.h")<commit_msg>- Set version to 0.6.1 - Add warning because of experimental status - Correct file list<commit_after>cmake_minimum_required(VERSION 2.6.4)
project(EScript CXX)

set(ESCRIPT_VERSION_MAJOR 0)
set(ESCRIPT_VERSION_MINOR 6)
set(ESCRIPT_VERSION_PATCH 1)
set(ESCRIPT_VERSION ${ESCRIPT_VERSION_MAJOR}.${ESCRIPT_VERSION_MINOR}.${ESCRIPT_VERSION_PATCH})

message(WARNING "Experimental EScript version ${ESCRIPT_VERSION}")

# Set up install directories
set(INCLUDE_INSTALL_DIR include)
set(BIN_INSTALL_DIR bin)
set(LIB_INSTALL_DIR lib)
set(CMAKECONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/EScript)

set(ESCRIPT_SOURCES
	EScript/Consts.cpp
	EScript/EScript.cpp
	EScript/Instructions/InstructionBlock.cpp
	EScript/Instructions/Instruction.cpp
	EScript/Objects/AST/BlockExpr.cpp
	EScript/Objects/AST/SetAttributeExpr.cpp
	EScript/Objects/AST/Statement.cpp
	EScript/Objects/AST/UserFunctionExpr.cpp
	EScript/Objects/Callables/Delegate.cpp
	EScript/Objects/Callables/Function.cpp
	EScript/Objects/Callables/UserFunction.cpp
	EScript/Objects/Collections/Array.cpp
	EScript/Objects/Collections/Collection.cpp
	EScript/Objects/Collections/Map.cpp
	EScript/Objects/Exception.cpp
	EScript/Objects/ExtObject.cpp
	EScript/Objects/Identifier.cpp
	EScript/Objects/Iterator.cpp
	EScript/Objects/Namespace.cpp
	EScript/Objects/Object.cpp
	EScript/Objects/Type.cpp
	EScript/Objects/Values/Bool.cpp
	EScript/Objects/Values/Number.cpp
	EScript/Objects/Values/NumberRef.cpp
	EScript/Objects/Values/String.cpp
	EScript/Objects/Values/Void.cpp
	EScript/Objects/YieldIterator.cpp
	EScript/Parser/CompilerContext.cpp
	EScript/Parser/Compiler.cpp
	EScript/Parser/Operators.cpp
	EScript/Parser/Parser.cpp
	EScript/Parser/Token.cpp
	EScript/Parser/Tokenizer.cpp
	EScript/Runtime/FunctionCallContext.cpp
	EScript/Runtime/Runtime.cpp
	EScript/Runtime/RuntimeInternals.cpp
	EScript/Utils/AttributeContainer.cpp
	EScript/Utils/Debug.cpp
	EScript/Utils/Hashing.cpp
	EScript/Utils/Helper.cpp
	EScript/Utils/IO/DefaultFileSystemHandler.cpp
	EScript/Utils/IO/IO.cpp
	EScript/Utils/Logger.cpp
	EScript/Utils/StringData.cpp
	EScript/Utils/StringUtils.cpp
	E_Libs/ext/JSON.cpp
	E_Libs/ext/Rand.cpp
	E_Libs/IOLib.cpp
	E_Libs/MathLib.cpp
	E_Libs/StdLib.cpp
)
if(WIN32)
	list(APPEND ESCRIPT_SOURCES E_Libs/Win32Lib.cpp)
endif()
add_library(EScript SHARED ${ESCRIPT_SOURCES})

# Set version of library
set_target_properties(EScript PROPERTIES VERSION ${ESCRIPT_VERSION}
                                         SOVERSION ${ESCRIPT_VERSION_MAJOR})

# Install the header files
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Instructions/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Instructions)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/Callables/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects/Callables)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/Collections/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects/Collections)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/AST/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects/AST)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/Values/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects/Values)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Objects/*.h")
install(FILES ${ESCRIPT_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/EScript/Objects)
file(GLOB ESCRIPT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/EScript/Runtime/*.h")
{'fraction_non_alphanumeric': 0.10810063588609345, 'fraction_numerical': 0.0031794304672380425, 'mean_word_length': 6.544316996871741, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3984258', 'n_tokens_mistral': 2711, 'n_tokens_neox': 2501, 'n_words': 303}