# Version Set ( HELLOWORLD_VERSION_MAJOR 1 ) Set ( HELLOWORLD_VERSION_MINOR 0 ) Set ( HELLOWORLD_VERSION_PATCH 0 ) Set ( HELLOWORLD_VERSION_BUILD 0 ) Set ( HELLOWORLD_VERSION_HASH "" ) Set ( HELLOWORLD_VERSION_BEHIND 0 ) Set ( HELLOWORLD_VERSION_DIRTY 0 ) # Git Version If ( HELLOWORLD_USE_GIT_VERSION ) Include ( git_helper OPTIONAL RESULT_VARIABLE HAS_GIT_HELPER ) If ( HAS_GIT_HELPER ) GitGetVersion ( ${CMAKE_CURRENT_LIST_DIR}/.. HELLOWORLD_VERSION_MAJOR HELLOWORLD_VERSION_MINOR HELLOWORLD_VERSION_PATCH HELLOWORLD_VERSION_BUILD HELLOWORLD_VERSION_HASH HELLOWORLD_VERSION_BEHIND HELLOWORLD_VERSION_DIRTY ) EndIf ( ) EndIf ( ) # Strings Set ( HELLOWORLD_VERSION_SHORT "${HELLOWORLD_VERSION_MAJOR}.${HELLOWORLD_VERSION_MINOR}" ) Set ( HELLOWORLD_VERSION "${HELLOWORLD_VERSION_SHORT}.${HELLOWORLD_VERSION_PATCH}.${HELLOWORLD_VERSION_BUILD}" ) Set ( HELLOWORLD_VERSION_COMPLETE "${HELLOWORLD_VERSION}" ) Set ( HELLOWORLD_NAME "helloworld-${HELLOWORLD_VERSION_SHORT}" ) Set ( HELLOWORLD_OUTPUTNAME "helloworld" ) If ( HELLOWORLD_VERSION_BEHIND ) Set ( HELLOWORLD_VERSION_COMPLETE "${HELLOWORLD_VERSION_COMPLETE}+${HELLOWORLD_VERSION_BEHIND}" ) EndIf ( ) Message ( FATAL_ERROR "Please configure the output name of protject (HELLOWORLD_NAME and HELLOWORLD_OUTPUTNAME)!" ) # Install directories Set ( HELLOWORLD_INSTALL_DIR_BIN "bin" ) # C Standard Set ( CMAKE_C_STANDARD 11 ) Set ( CMAKE_CXX_STANDARD 17 ) Set ( CMAKE_C_STANDARD_REQUIRED ON ) Set ( CMAKE_CXX_STANDARD_REQUIRED ON )