CMAKE_MINIMUM_REQUIRED( VERSION 3.14 )

PROJECT( haf )
SET( Boost_NO_BOOST_CMAKE ON CACHE STRING "ON or OFF" FORCE )
SET( HAF_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
FILE( CREATE_LINK ${CMAKE_CURRENT_SOURCE_DIR}/src/sql_serializer ${CMAKE_CURRENT_SOURCE_DIR}/hive/libraries/plugins/sql_serializer SYMBOLIC )

ADD_SUBDIRECTORY( hive EXCLUDE_FROM_ALL )
SET_TARGET_PROPERTIES( hived PROPERTIES EXCLUDE_FROM_ALL 0 )

IF ( NOT DEFINED POSTGRES_INSTALLATION_DIR )
    SET( POSTGRES_INSTALLATION_DIR "/usr/lib/postgresql/12/bin" )
ENDIF()

SET( CMAKE_POSITION_INDEPENDENT_CODE ON )
SET( CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE )
SET( BUILD_SHARED_LIBS ON )

INCLUDE( ExternalProject )

SET( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake )

INCLUDE( compiler )
INCLUDE( git )
INCLUDE( libraries )
INCLUDE( postgres )
INCLUDE( sql_extension )
INCLUDE( targets )
INCLUDE( tests )

SETUP_OUTPUT_DIRECTORIES()

GENERATE_GIT_VERSION_FILE()
GET_RUNTIME_POSTGRES_VARIABLES()

set(CMAKE_INSTALL_RPATH ${POSTGRES_LIBDIR})
SET(CMAKE_INSTALL_PREFIX ${POSTGRES_LIBDIR} CACHE PATH "DEFAULT PREFIX" FORCE)

ENABLE_TESTING()

ADD_SUBDIRECTORY( src )

ADD_SUBDIRECTORY( tests )
