# Initialize CMake ################################################################################

CMake_Minimum_Required      ( VERSION 3.12.0 FATAL_ERROR )

# Set CMAKE_BUILD_TYPE
If                          ( NOT CMAKE_BUILD_TYPE )
    Set                         ( CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build!" FORCE )
EndIf                       ( NOT CMAKE_BUILD_TYPE )
Set_Property                ( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo MinSizeRel )

# Set CMAKE_MODULE_PATH
If                          ( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/" )
    Set                         ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
                                                    "${CMAKE_CURRENT_SOURCE_DIR}/cmake/" )
EndIf                       ( )
If                          ( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/" )
    Set                         ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
                                                    "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" )
EndIf                       ( )

# Project #########################################################################################

Include                     ( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/helloworld-var.cmake" )
Project                     ( helloworld
                              DESCRIPTION "A simple library"
                              VERSION "${HELLOWORLD_VERSION}" )
Include                     ( CTest )
Include                     ( GNUInstallDirs )

# Subdirectories
Add_SubDirectory            ( ${CMAKE_CURRENT_SOURCE_DIR}/src )
Add_SubDirectory            ( ${CMAKE_CURRENT_SOURCE_DIR}/test )
