pixwerx/CMakeLists.txt
2024-06-06 23:45:53 +02:00

31 lines
779 B
CMake

#
# CMake build system for pixwerx
#
cmake_minimum_required(VERSION 3.28)
project(pixwerx)
#
# pixwerx ist C++23
#
set (CMAKE_CXX_STANDARD 23)
# internal cmake modules
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/etc/cmake ${CMAKE_MODULE_PATH})
# boilerplate locations for build
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE PATH "Executables go here")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib CACHE PATH "Libraries go here")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin CACHE PATH "Standalone DLLs go here")
# boilerplate settings for shared libs
set(CMAKE_SKIP_BUILD_RPATH OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
#
# now the actual code
#
add_subdirectory(src)
add_subdirectory(share)
add_subdirectory(tests)