<commit_before># -*- mode: CMAKE; -*-

## -----------------------------------------------------------------------------
## --SECTION--                                                    COMMON DEFINES
## -----------------------------------------------------------------------------

################################################################################
### @brief required cmake version
################################################################################

cmake_minimum_required(VERSION 2.6)

################################################################################
### @brief cmake build types
################################################################################

if (NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE Release CACHE string "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif ()

################################################################################
### @brief arangodb project
################################################################################

project(arangodb)

set(LIB_ARANGO        arango)
set(LIB_ARANGO_CLIENT arango_client)
set(LIB_ARANGO_FE     arango_fe)
set(LIB_ARANGO_V8     arango_v8)

set(BIN_ARANGOB       arangob)
set(BIN_ARANGOD       arangod)
set(BIN_ARANGODUMP    arangodump)
set(BIN_ARANGOIMP     arangoimp)
set(BIN_ARANGORESTORE arangorestore)
set(BIN_ARANGOSH      arangosh)

set(TEST_BASICS_SUITE basics_suite)
set(TEST_GEO_SUITE    geo_suite)

################################################################################
### @brief BUILD_PACKAGE
###
### Posible options are:
### - dmg-cli: Mac OS X shell client application
### - debian: debian package
### - raspbian: raspberry debian package
################################################################################

set(BUILD_PACKAGE "unknown" CACHE path "Package type to build")

################################################################################
### @brief GNU C/C++ compiler
################################################################################

if (CMAKE_COMPILER_IS_GNUCC)
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu89 -g")
  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -g")
endif ()

if (CMAKE_COMPILER_IS_GNUCXX)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g")
endif ()

if (APPLE)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g")
  add_definitions("-Wno-deprecated-declarations")
endif ()

################################################################################
### @brief Visual Studio Compiler
################################################################################

if (MSVC)
  add_definitions("-D_CRT_SECURE_NO_WARNINGS=1")
  add_definitions("-DFD_SETSIZE=2048")

  add_definitions("-DUSE_REGEX_STATIC=1")
  add_definitions("-DU_STATIC_IMPLEMENTATION=1")

  foreach (flag_var
	   CMAKE_C_FLAGS
	   CMAKE_C_FLAGS_DEBUG
	   CMAKE_C_FLAGS_RELEASE
	   CMAKE_C_FLAGS_MINSIZEREL
	   CMAKE_C_FLAGS_RELWITHDEBINFO
           CMAKE_CXX_FLAGS
           CMAKE_CXX_FLAGS_DEBUG
           CMAKE_CXX_FLAGS_RELEASE
           CMAKE_CXX_FLAGS_MINSIZEREL
           CMAKE_CXX_FLAGS_RELWITHDEBINFO)
    if (${flag_var} MATCHES "/MD")
      string(REGEX REPLACE "/MDd?" "" ${flag_var} "${${flag_var}}")
    endif()

    if (flag_var MATCHES "DEBUG")
      set(${flag_var} "${${flag_var}} /MTd")
    else ()
      set(${flag_var} "${${flag_var}} /MT")
    endif ()
  endforeach()

  set(MSVC_LIBS crypt32.lib;WINMM.LIB;Ws2_32.lib;getopt;regex)

  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE /LTCG /SAFESEH:NO /ignore:4099")
endif ()

################################################################################
### @brief TRI_BITS
################################################################################

math(EXPR BITS "8*${CMAKE_SIZEOF_VOID_P}")
add_definitions("-DTRI_BITS=${BITS}")

################################################################################
### @brief raspberry pi
################################################################################

if (BUILD_PACKAGE STREQUAL "raspbian")
  add_definitions("-DTRI_FORCE_ARMV6")
  option(RASPBIAN "Building for Raspberry PI" ON)
else ()
  option(RASPBIAN "Building for Raspberry PI" OFF)
endif ()

################################################################################
### @brief darwin
################################################################################

if (BUILD_PACKAGE STREQUAL "dmg-cli")
  option(DARWIN "Building for MacOS" ON)
else ()
  option(DARWIN "Building for MacOS" OF)
endif ()


## -----------------------------------------------------------------------------
## --SECTION--                                                           OPTIONS
## -----------------------------------------------------------------------------

################################################################################
### @brief ARANGODB_VERSION
################################################################################

set(ARANGODB_VERSION "1.x.y-rc1" CACHE path "ArangoDB version")

################################################################################
### @brief VISTA LOCKS
################################################################################

option(USE_VISTA_LOCKS "Do you want to use Windows Vista R/W locks" OFF)

if (USE_VISTA_LOCKS)
  add_definitions("-DTRI_WINDOWS_VISTA_LOCKS=1")
endif ()

## -----------------------------------------------------------------------------
## --SECTION--                                                       DIRECTORIES
## -----------------------------------------------------------------------------<commit_msg>fixed typo in build instructions<commit_after># -*- mode: CMAKE; -*-

## -----------------------------------------------------------------------------
## --SECTION--                                                    COMMON DEFINES
## -----------------------------------------------------------------------------

################################################################################
### @brief required cmake version
################################################################################

cmake_minimum_required(VERSION 2.6)

################################################################################
### @brief cmake build types
################################################################################

if (NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE Release CACHE string "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif ()

################################################################################
### @brief arangodb project
################################################################################

project(arangodb)

set(LIB_ARANGO        arango)
set(LIB_ARANGO_CLIENT arango_client)
set(LIB_ARANGO_FE     arango_fe)
set(LIB_ARANGO_V8     arango_v8)

set(BIN_ARANGOB       arangob)
set(BIN_ARANGOD       arangod)
set(BIN_ARANGODUMP    arangodump)
set(BIN_ARANGOIMP     arangoimp)
set(BIN_ARANGORESTORE arangorestore)
set(BIN_ARANGOSH      arangosh)

set(TEST_BASICS_SUITE basics_suite)
set(TEST_GEO_SUITE    geo_suite)

################################################################################
### @brief BUILD_PACKAGE
###
### Posible options are:
### - dmg-cli: Mac OS X shell client application
### - debian: debian package
### - raspbian: raspberry debian package
################################################################################

set(BUILD_PACKAGE "unknown" CACHE path "Package type to build")

################################################################################
### @brief GNU C/C++ compiler
################################################################################

if (CMAKE_COMPILER_IS_GNUCC)
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu89 -g")
  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -g")
endif ()

if (CMAKE_COMPILER_IS_GNUCXX)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g")
endif ()

if (APPLE)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g")
  add_definitions("-Wno-deprecated-declarations")
endif ()

################################################################################
### @brief Visual Studio Compiler
################################################################################

if (MSVC)
  add_definitions("-D_CRT_SECURE_NO_WARNINGS=1")
  add_definitions("-DFD_SETSIZE=2048")

  add_definitions("-DUSE_REGEX_STATIC=1")
  add_definitions("-DU_STATIC_IMPLEMENTATION=1")

  foreach (flag_var
	   CMAKE_C_FLAGS
	   CMAKE_C_FLAGS_DEBUG
	   CMAKE_C_FLAGS_RELEASE
	   CMAKE_C_FLAGS_MINSIZEREL
	   CMAKE_C_FLAGS_RELWITHDEBINFO
           CMAKE_CXX_FLAGS
           CMAKE_CXX_FLAGS_DEBUG
           CMAKE_CXX_FLAGS_RELEASE
           CMAKE_CXX_FLAGS_MINSIZEREL
           CMAKE_CXX_FLAGS_RELWITHDEBINFO)
    if (${flag_var} MATCHES "/MD")
      string(REGEX REPLACE "/MDd?" "" ${flag_var} "${${flag_var}}")
    endif()

    if (flag_var MATCHES "DEBUG")
      set(${flag_var} "${${flag_var}} /MTd")
    else ()
      set(${flag_var} "${${flag_var}} /MT")
    endif ()
  endforeach()

  set(MSVC_LIBS crypt32.lib;WINMM.LIB;Ws2_32.lib;getopt;regex)

  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE /LTCG /SAFESEH:NO /ignore:4099")
endif ()

################################################################################
### @brief TRI_BITS
################################################################################

math(EXPR BITS "8*${CMAKE_SIZEOF_VOID_P}")
add_definitions("-DTRI_BITS=${BITS}")

################################################################################
### @brief raspberry pi
################################################################################

if (BUILD_PACKAGE STREQUAL "raspbian")
  add_definitions("-DTRI_FORCE_ARMV6")
  option(RASPBIAN "Building for Raspberry PI" ON)
else ()
  option(RASPBIAN "Building for Raspberry PI" OFF)
endif ()

################################################################################
### @brief darwin
################################################################################

if (BUILD_PACKAGE STREQUAL "dmg-cli")
  option(DARWIN "Building for MacOS" ON)
else ()
  option(DARWIN "Building for MacOS" OFF)
endif ()


## -----------------------------------------------------------------------------
## --SECTION--                                                           OPTIONS
## -----------------------------------------------------------------------------

################################################################################
### @brief ARANGODB_VERSION
################################################################################

set(ARANGODB_VERSION "1.x.y-rc1" CACHE path "ArangoDB version")

################################################################################
### @brief VISTA LOCKS
################################################################################

option(USE_VISTA_LOCKS "Do you want to use Windows Vista R/W locks" OFF)

if (USE_VISTA_LOCKS)
  add_definitions("-DTRI_WINDOWS_VISTA_LOCKS=1")
endif ()

## -----------------------------------------------------------------------------
## --SECTION--                                                       DIRECTORIES
## -----------------------------------------------------------------------------
{'fraction_non_alphanumeric': 0.46153846153846156, 'fraction_numerical': 0.005419580419580419, 'mean_word_length': 3.6263647391831784, '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': 12, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5780741', 'n_tokens_mistral': 3076, 'n_tokens_neox': 2815, 'n_words': 506}