changes to build system

* added overridable auto detection of arch
* added version and arch to executable name
* added seperate version of executable without name and stuff
development v1.0.0
Michael Ochmann 2 years ago
parent eeaf910c27
commit 48e7573736
  1. 19
      CMakeLists.txt

@ -2,15 +2,28 @@ cmake_minimum_required(VERSION 3.14...3.25)
set (CXX_STANDARD 23)
if (DEFINED ENV{ARCH})
set(ARCH $ENV{ARCH})
else()
set(ARCH ${CMAKE_SYSTEM_PROCESSOR})
endif()
set(EXE_NAME "qr_${CMAKE_PROJECT_VERSION}-${ARCH}")
project(
qr
VERSION 1.0
VERSION 1.0.0
LANGUAGES CXX
)
message(STATUS "ARCH:: ${ARCH}")
file(GLOB_RECURSE sources main.cpp src/*.hpp src/*.cpp lib/*.hpp lib/*.cpp)
add_executable(qr ${sources})
target_compile_options(qr PUBLIC -Wall -std=c++20 -arch ${CMAKE_SYSTEM_PROCESSOR})
set_target_properties(qr PROPERTIES OUTPUT_NAME ${EXE_NAME})
target_compile_options(qr PUBLIC -Wall -std=c++20 -arch ${ARCH})
target_include_directories(qr PRIVATE src lib)
install(TARGETS qr DESTINATION bin)
install(TARGETS qr RUNTIME DESTINATION bin)
install(PROGRAMS build/${EXE_NAME} DESTINATION bin RENAME qr)
Loading…
Cancel
Save