2018-12-27 23:45:16 +01:00
|
|
|
#
|
|
|
|
# CMake build system for pixwerx
|
|
|
|
#
|
2024-06-06 23:45:53 +02:00
|
|
|
cmake_minimum_required(VERSION 3.28)
|
2017-06-27 23:20:14 +02:00
|
|
|
|
2020-12-04 22:05:04 +01:00
|
|
|
|
2017-06-27 23:20:14 +02:00
|
|
|
project(pixwerx)
|
|
|
|
|
2019-01-14 21:48:16 +01:00
|
|
|
#
|
2024-07-16 18:51:14 +02:00
|
|
|
# pixwerx is C++23
|
2019-01-14 21:48:16 +01:00
|
|
|
#
|
2024-06-06 23:45:53 +02:00
|
|
|
set (CMAKE_CXX_STANDARD 23)
|
2017-06-27 23:20:14 +02:00
|
|
|
|
2024-07-16 18:51:14 +02:00
|
|
|
#
|
2019-01-14 21:48:16 +01:00
|
|
|
# internal cmake modules
|
2024-07-16 18:51:14 +02:00
|
|
|
#
|
2019-01-14 21:48:16 +01:00
|
|
|
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
|
|
|
|
#
|
2017-06-27 23:20:14 +02:00
|
|
|
add_subdirectory(src)
|
2019-01-11 23:21:09 +01:00
|
|
|
add_subdirectory(share)
|
2024-06-06 23:45:53 +02:00
|
|
|
add_subdirectory(tests)
|