<commit_before>#=============================================================================
#
# CHRONO::ENGINE   CMake configuration file for building the library.
#
# To compile the CHRONO::ENGINE library, load this file in CMake
# then modify some paths and build settings in the CMake user interface,
# and finally generate the makefiles (or the VC projects).
# The CMake tool can be downloaded from http://www.cmake.org
#
#=============================================================================


# Check backward compatibility 

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

#-----------------------------------------------------------------------------
# This to avoid in-source builds. 

IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
    MESSAGE( FATAL_ERROR  "In-source build is not possible and not reccomended. Choose an empty directory for build output.")
ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})

ENABLE_TESTING()
SET (VALGRIND_COMMAND "/usr/bin/valgrind")
SET (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
SET (MEMORYCHECK_COMMAND "/usr/bin/valgrind")
SET (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
SET (CTEST_MEMORYCHECK_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")


#-----------------------------------------------------------------------------
# Hide uneeded default stuff from GUI. 

MARK_AS_ADVANCED(CMAKE_INSTALL_PREFIX)

#-----------------------------------------------------------------------------
# Disable the warning when adding a subdir that has not CMakeLists.txt

if(COMMAND cmake_policy)
    cmake_policy(SET CMP0014 OLD)
endif(COMMAND cmake_policy)

# Be sure to avoid troubles with library paths when using old policy

if(COMMAND cmake_policy)
  cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

#-----------------------------------------------------------------------------
# Disable solution folders because not supported in VC Express

set_property(GLOBAL PROPERTY USE_FOLDERS Off)

#-----------------------------------------------------------------------------
# Define project name (the 'solution' in MSVC)

PROJECT(ChronoEngine)

set (ChronoEngine_VERSION_MAJOR 1)
set (ChronoEngine_VERSION_MINOR 0)

SET(CPACK_PACKAGE_VERSION "1.0.0")
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "0")

#-----------------------------------------------------------------------------
# OPTIONS AND USER SETTINGS
# These cached variables will be shown in the GUI of CMake as 
# flags that you can turn ON/OFF to enable/disable the compilation
# of some part of the entire project. 
# Switching off some unit might be useful in case you do not want to 
# install extra libraries/software that could be needed (for instance
# to compile the MPI unit you must have the MPICH libraries and headers 
# installed on your system).

SET(BUILD_CH_SDK         TRUE    CACHE BOOL   "Turn this ON to generate the Chrono::Engine main library.")
SET(BUILD_DEMOS          TRUE    CACHE BOOL   "Turn this ON to generate Chrono::Engine demos")
SET(ENABLE_UNIT_IRRLICHT FALSE   CACHE BOOL   "Turn this ON to generate the Chrono::Engine demos with Irrlicht 3D display")
SET(ENABLE_UNIT_TESTS    FALSE   CACHE BOOL   "Turn this ON to generate Chrono::Engine unit tests")


# Also, some variables that were used in previous makefile system (some
# of them could be set automatically because CMake should recognize automatically 
# the compiler, generator, platform, etc....
# Set a default build type if none was specified

if(MSVC)
    SET(CMAKE_CONFIGURATION_TYPES Release CACHE STRING "Choose the type of build.")
    SET_PROPERTY(CACHE CMAKE_CONFIGURATION_TYPES PROPERTY STRINGS Debug Release)
    file( COPY ${CMAKE_SOURCE_DIR}/demos/data/ DESTINATION ${CMAKE_BINARY_DIR}/bin/data/ PATTERN .svn EXCLUDE)
    SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
    mark_as_advanced(FORCE CMAKE_BUILD_TYPE)
    mark_as_advanced(CLEAR CMAKE_CONFIGURATION_TYPES)
    SET(CPACK_BUILD_TYPE ${CMAKE_CONFIGURATION_TYPES})
ELSEIF(XCODE_VERSION)
    SET(CMAKE_CONFIGURATION_TYPES Release CACHE STRING "Choose the type of build.")
    SET_PROPERTY(CACHE CMAKE_CONFIGURATION_TYPES PROPERTY STRINGS Debug Release RelWithDebInfo)
    file( COPY ${CMAKE_SOURCE_DIR}/demos/data/ DESTINATION ${CMAKE_BINARY_DIR}/bin/data/ PATTERN .svn EXCLUDE)
    SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
    mark_as_advanced(FORCE CMAKE_BUILD_TYPE)
    mark_as_advanced(CLEAR CMAKE_CONFIGURATION_TYPES)
    SET(CPACK_BUILD_TYPE ${CMAKE_CONFIGURATION_TYPES})
    set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
ELSE()
    SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build.")
    SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release MinSizeRel RelWithDebInfo)
    file( COPY ${CMAKE_SOURCE_DIR}/demos/data/ DESTINATION ${CMAKE_BINARY_DIR}/data/ PATTERN .svn EXCLUDE)
    SET(CPACK_BUILD_TYPE ${CMAKE_BUILD_TYPE})
ENDIF()
#-----------------------------------------------------------------------------
SET(CH_COMPILER " " CACHE STRING "Compiler Type" FORCE)

IF (MINGW OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_CLANGXX)
    IF (CMAKE_SIZEOF_VOID_P MATCHES 4)
        SET (CH_COMPILER "COMPILER_GCC" CACHE STRING "Compiler Type" FORCE)
    ELSE()
        SET (CH_COMPILER "COMPILER_GCC_X64" CACHE STRING "Compiler Type" FORCE)
    ENDIF()
ENDIF()

IF (MSVC AND CMAKE_CL_64)
    SET (CH_COMPILER "COMPILER_MSVC_X64" CACHE STRING "Compiler Type" FORCE)
ELSEIF(MSVC)
    SET (CH_COMPILER "COMPILER_MSVC" CACHE STRING "Compiler Type" FORCE)
ENDIF()

#message(${CMAKE_RUNTIME_OUTPUT_DIRECTORY})

#set(CH_COMPILER "${DETECTED_CH_COMPILER}" CACHE STRING "Set Compiler Type, Re-Run configure after changing")
#set(CH_COMPILER_VALUES "COMPILER_MSVC;COMPILER_GCC;COMPILER_MSVC_X64;COMPILER_GCC_X64")
#set_property(CACHE CH_COMPILER PROPERTY STRINGS ${CH_COMPILER_VALUES})

set(CH_OS "${CMAKE_SYSTEM_NAME}" CACHE STRING "Set OS, Re-Run configure after changing")

#-----------------------------------------------------------------------------
# Generate configuration.h file
# This way platform and system specific settings can be added to the
# configuration.h file
#
#CONFIGURE_FILE(
#  "${CH_CHRONOSRC}/core/configuration.h.in"
#  "${CH_CHRONOSRC}/core/configuration.h"
#  @ONLY
#)


#-----------------------------------------------------------------------------
# Find the Chrono::Engine headers and related stuff contained
# in its SDK, and setup related variables

SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

find_package("OpenMP")
if(OPENMP_FOUND)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
ENDIF(OPENMP_FOUND)

IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
    IF (MSVC)
        ADD_DEFINITIONS( "-D_CRT_SECURE_NO_DEPRECATE" )  # avoids deprecation warnings
        ADD_DEFINITIONS( "-D_SCL_SECURE_NO_DEPRECATE" )  # avoids deprecation warnings
    ENDIF(MSVC)
    IF ("${CH_COMPILER}" STREQUAL "COMPILER_MSVC")
        SET (CH_BUILDFLAGS "-DWIN32; -DNOMINMAX; -MP")
        SET (CH_LINKERFLAG_SHARED "/FORCE:MULTIPLE")
        SET(CPACK_SYSTEM_NAME "Win-x86")
    ELSEIF ("${CH_COMPILER}" STREQUAL "COMPILER_MSVC_X64")
        SET (CH_BUILDFLAGS "-DWIN64; -D_WIN64; -DNOMINMAX; -MP")
        SET (CH_LINKERFLAG_SHARED "/FORCE:MULTIPLE")
        SET(CPACK_SYSTEM_NAME "Win-x64")
    ELSEIF ("${CH_COMPILER}" STREQUAL "COMPILER_GCC")
        SET (CH_BUILDFLAGS "-DWIN32 -D_MINGW -D_WINDOWS")
        SET (CH_LINKERFLAG_EXE "-Wl,--enable-runtime-pseudo-reloc")
        SET (CH_LINKERFLAG_SHARED "-Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc")
        SET(CPACK_SYSTEM_NAME "Win-x86")
    ELSEIF ("${CH_COMPILER}" STREQUAL "COMPILER_GCC_X64")
        SET (CH_BUILDFLAGS "-DWIN64 -D_MINGW -D_WINDOWS -m64")
        SET (CH_LINKERFLAG_EXE "-Wl,--enable-runtime-pseudo-reloc")
        SET (CH_LINKERFLAG_SHARED "-Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc")
        SET(CPACK_SYSTEM_NAME "Win-x64")
    ENDIF()
ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    SET (CH_BUILDFLAGS "-DLINUX -D__linux__ -fpermissive")
    SET (CH_LINKERFLAG_SHARED "-lpthread -z muldefs  -pthread")		
    SET (CPACK_SYSTEM_NAME "Linux-x64")
ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
    SET (CH_BUILDFLAGS "-DAPPLE -D__APPLE__ -fpermissive")
    SET (CH_LINKERFLAG_SHARED "-lpthread -fpermissive")		
    SET (CPACK_SYSTEM_NAME "OSX-x64")
ENDIF()

#-----------------------------------------------------------------------------
# Some global  C++ definitions and includes that are used 
# everywhere for all targets and all configurations.
# 
# Definitions that are used by ALL targets:

SET(CMAKE_CXX_FLAGS_DEBUG   "${CMAKE_CXX_FLAGS_DEBUG}   ${CH_BUILDFLAGS} -D_DEBUG -DDEBUG")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CH_BUILDFLAGS} -DNDEBUG -DNODEBUG")

ADD_DEFINITIONS( "-DBP_USE_FIXEDPOINT_INT_32" )   # for Bullet to use 32 bit math

# Includes that are used by ALL targets<commit_msg>Add compiler specific flags for darwin Not used right now but clang specific stuff can be added in the future<commit_after>#=============================================================================
#
# CHRONO::ENGINE   CMake configuration file for building the library.
#
# To compile the CHRONO::ENGINE library, load this file in CMake
# then modify some paths and build settings in the CMake user interface,
# and finally generate the makefiles (or the VC projects).
# The CMake tool can be downloaded from http://www.cmake.org
#
#=============================================================================


# Check backward compatibility 

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

#-----------------------------------------------------------------------------
# This to avoid in-source builds. 

IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
    MESSAGE( FATAL_ERROR  "In-source build is not possible and not reccomended. Choose an empty directory for build output.")
ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})

ENABLE_TESTING()
SET (VALGRIND_COMMAND "/usr/bin/valgrind")
SET (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
SET (MEMORYCHECK_COMMAND "/usr/bin/valgrind")
SET (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
SET (CTEST_MEMORYCHECK_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")


#-----------------------------------------------------------------------------
# Hide uneeded default stuff from GUI. 

MARK_AS_ADVANCED(CMAKE_INSTALL_PREFIX)

#-----------------------------------------------------------------------------
# Disable the warning when adding a subdir that has not CMakeLists.txt

if(COMMAND cmake_policy)
    cmake_policy(SET CMP0014 OLD)
endif(COMMAND cmake_policy)

# Be sure to avoid troubles with library paths when using old policy

if(COMMAND cmake_policy)
  cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

#-----------------------------------------------------------------------------
# Disable solution folders because not supported in VC Express

set_property(GLOBAL PROPERTY USE_FOLDERS Off)

#-----------------------------------------------------------------------------
# Define project name (the 'solution' in MSVC)

PROJECT(ChronoEngine)

set (ChronoEngine_VERSION_MAJOR 1)
set (ChronoEngine_VERSION_MINOR 0)

SET(CPACK_PACKAGE_VERSION "1.0.0")
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "0")

#-----------------------------------------------------------------------------
# OPTIONS AND USER SETTINGS
# These cached variables will be shown in the GUI of CMake as 
# flags that you can turn ON/OFF to enable/disable the compilation
# of some part of the entire project. 
# Switching off some unit might be useful in case you do not want to 
# install extra libraries/software that could be needed (for instance
# to compile the MPI unit you must have the MPICH libraries and headers 
# installed on your system).

SET(BUILD_CH_SDK         TRUE    CACHE BOOL   "Turn this ON to generate the Chrono::Engine main library.")
SET(BUILD_DEMOS          TRUE    CACHE BOOL   "Turn this ON to generate Chrono::Engine demos")
SET(ENABLE_UNIT_IRRLICHT FALSE   CACHE BOOL   "Turn this ON to generate the Chrono::Engine demos with Irrlicht 3D display")
SET(ENABLE_UNIT_TESTS    FALSE   CACHE BOOL   "Turn this ON to generate Chrono::Engine unit tests")


# Also, some variables that were used in previous makefile system (some
# of them could be set automatically because CMake should recognize automatically 
# the compiler, generator, platform, etc....
# Set a default build type if none was specified

if(MSVC)
    SET(CMAKE_CONFIGURATION_TYPES Release CACHE STRING "Choose the type of build.")
    SET_PROPERTY(CACHE CMAKE_CONFIGURATION_TYPES PROPERTY STRINGS Debug Release)
    file( COPY ${CMAKE_SOURCE_DIR}/demos/data/ DESTINATION ${CMAKE_BINARY_DIR}/bin/data/ PATTERN .svn EXCLUDE)
    SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
    mark_as_advanced(FORCE CMAKE_BUILD_TYPE)
    mark_as_advanced(CLEAR CMAKE_CONFIGURATION_TYPES)
    SET(CPACK_BUILD_TYPE ${CMAKE_CONFIGURATION_TYPES})
ELSEIF(XCODE_VERSION)
    SET(CMAKE_CONFIGURATION_TYPES Release CACHE STRING "Choose the type of build.")
    SET_PROPERTY(CACHE CMAKE_CONFIGURATION_TYPES PROPERTY STRINGS Debug Release RelWithDebInfo)
    file( COPY ${CMAKE_SOURCE_DIR}/demos/data/ DESTINATION ${CMAKE_BINARY_DIR}/bin/data/ PATTERN .svn EXCLUDE)
    SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
    mark_as_advanced(FORCE CMAKE_BUILD_TYPE)
    mark_as_advanced(CLEAR CMAKE_CONFIGURATION_TYPES)
    SET(CPACK_BUILD_TYPE ${CMAKE_CONFIGURATION_TYPES})
    set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
ELSE()
    SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build.")
    SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release MinSizeRel RelWithDebInfo)
    file( COPY ${CMAKE_SOURCE_DIR}/demos/data/ DESTINATION ${CMAKE_BINARY_DIR}/data/ PATTERN .svn EXCLUDE)
    SET(CPACK_BUILD_TYPE ${CMAKE_BUILD_TYPE})
ENDIF()
#-----------------------------------------------------------------------------
SET(CH_COMPILER " " CACHE STRING "Compiler Type" FORCE)

IF (MINGW OR CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_CLANGXX)
    IF (CMAKE_SIZEOF_VOID_P MATCHES 4)
        SET (CH_COMPILER "COMPILER_GCC" CACHE STRING "Compiler Type" FORCE)
    ELSE()
        SET (CH_COMPILER "COMPILER_GCC_X64" CACHE STRING "Compiler Type" FORCE)
    ENDIF()
ENDIF()

IF (MSVC AND CMAKE_CL_64)
    SET (CH_COMPILER "COMPILER_MSVC_X64" CACHE STRING "Compiler Type" FORCE)
ELSEIF(MSVC)
    SET (CH_COMPILER "COMPILER_MSVC" CACHE STRING "Compiler Type" FORCE)
ENDIF()

#message(${CMAKE_RUNTIME_OUTPUT_DIRECTORY})

#set(CH_COMPILER "${DETECTED_CH_COMPILER}" CACHE STRING "Set Compiler Type, Re-Run configure after changing")
#set(CH_COMPILER_VALUES "COMPILER_MSVC;COMPILER_GCC;COMPILER_MSVC_X64;COMPILER_GCC_X64")
#set_property(CACHE CH_COMPILER PROPERTY STRINGS ${CH_COMPILER_VALUES})

set(CH_OS "${CMAKE_SYSTEM_NAME}" CACHE STRING "Set OS, Re-Run configure after changing")

#-----------------------------------------------------------------------------
# Generate configuration.h file
# This way platform and system specific settings can be added to the
# configuration.h file
#
#CONFIGURE_FILE(
#  "${CH_CHRONOSRC}/core/configuration.h.in"
#  "${CH_CHRONOSRC}/core/configuration.h"
#  @ONLY
#)


#-----------------------------------------------------------------------------
# Find the Chrono::Engine headers and related stuff contained
# in its SDK, and setup related variables

SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

find_package("OpenMP")
if(OPENMP_FOUND)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
ENDIF(OPENMP_FOUND)

IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
    IF (MSVC)
        ADD_DEFINITIONS( "-D_CRT_SECURE_NO_DEPRECATE" )  # avoids deprecation warnings
        ADD_DEFINITIONS( "-D_SCL_SECURE_NO_DEPRECATE" )  # avoids deprecation warnings
    ENDIF(MSVC)
    IF ("${CH_COMPILER}" STREQUAL "COMPILER_MSVC")
        SET (CH_BUILDFLAGS "-DWIN32; -DNOMINMAX; -MP")
        SET (CH_LINKERFLAG_SHARED "/FORCE:MULTIPLE")
        SET(CPACK_SYSTEM_NAME "Win-x86")
    ELSEIF ("${CH_COMPILER}" STREQUAL "COMPILER_MSVC_X64")
        SET (CH_BUILDFLAGS "-DWIN64; -D_WIN64; -DNOMINMAX; -MP")
        SET (CH_LINKERFLAG_SHARED "/FORCE:MULTIPLE")
        SET(CPACK_SYSTEM_NAME "Win-x64")
    ELSEIF ("${CH_COMPILER}" STREQUAL "COMPILER_GCC")
        SET (CH_BUILDFLAGS "-DWIN32 -D_MINGW -D_WINDOWS")
        SET (CH_LINKERFLAG_EXE "-Wl,--enable-runtime-pseudo-reloc")
        SET (CH_LINKERFLAG_SHARED "-Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc")
        SET(CPACK_SYSTEM_NAME "Win-x86")
    ELSEIF ("${CH_COMPILER}" STREQUAL "COMPILER_GCC_X64")
        SET (CH_BUILDFLAGS "-DWIN64 -D_MINGW -D_WINDOWS -m64")
        SET (CH_LINKERFLAG_EXE "-Wl,--enable-runtime-pseudo-reloc")
        SET (CH_LINKERFLAG_SHARED "-Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc")
        SET(CPACK_SYSTEM_NAME "Win-x64")
    ENDIF()
ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    SET (CH_BUILDFLAGS "-DLINUX -D__linux__ -fpermissive")
    SET (CH_LINKERFLAG_SHARED "-lpthread -z muldefs  -pthread")		
    SET (CPACK_SYSTEM_NAME "Linux-x64")
ELSEIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
	if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
	elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
		SET (CH_BUILDFLAGS "-DAPPLE -D__APPLE__   -fpermissive")
		SET (CH_LINKERFLAG_SHARED "-lpthread  -fpermissive")		
	endif()
    SET (CPACK_SYSTEM_NAME "OSX-x64")
ENDIF()

#-----------------------------------------------------------------------------
# Some global  C++ definitions and includes that are used 
# everywhere for all targets and all configurations.
# 
# Definitions that are used by ALL targets:

SET(CMAKE_CXX_FLAGS_DEBUG   "${CMAKE_CXX_FLAGS_DEBUG}   ${CH_BUILDFLAGS} -D_DEBUG -DDEBUG")
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CH_BUILDFLAGS} -DNDEBUG -DNODEBUG")

ADD_DEFINITIONS( "-DBP_USE_FIXEDPOINT_INT_32" )   # for Bullet to use 32 bit math

# Includes that are used by ALL targets
{'fraction_non_alphanumeric': 0.18500313741895, 'fraction_numerical': 0.007529805480025099, 'mean_word_length': 3.294857399505951, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7347403', 'n_tokens_mistral': 6600, 'n_tokens_neox': 6219, 'n_words': 1537}