# # CMake build system for pixwerx # cmake_minimum_required(VERSION 3.28) project(pixwerx) # # pixwerx is 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)