mirror of
https://github.com/sebastiandine/Card-Collection-Manager-3.git
synced 2026-08-28 23:01:09 +00:00
major: initial release
* initial development * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * pipeline * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * ci/cd * pokemon * pokemon * pokemon * pokemon * pokemon * pokemon * improvements * improvements * ci/cd * ci/cd * improvements * improvements * improvements * improvements * improvements * improvements * improvements * improvements * improvements --------- Co-authored-by: sdine <sdine@sdine.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
# Detect the toolchain BEFORE project() so we can pick clang or fall back to
|
||||
# MinGW-w64 g++ on Windows. This file is no-op on non-Windows hosts.
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Toolchain.cmake)
|
||||
|
||||
project(ccm
|
||||
VERSION 0.1.0
|
||||
DESCRIPTION "Card Collection Manager 3 - C++/wxWidgets desktop app"
|
||||
LANGUAGES CXX
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
enable_language(RC)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
|
||||
endif()
|
||||
|
||||
# Generate compile_commands.json for tooling (clangd, ccls, etc.).
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# All built artifacts land in a predictable place.
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
|
||||
# Project-wide options.
|
||||
option(CCM_USE_SYSTEM_WX "Use a system-installed wxWidgets via find_package instead of FetchContent" OFF)
|
||||
option(CCM_BUILD_TESTS "Build unit tests for ccm_core" ON)
|
||||
set(CCM_APP_VERSION "${PROJECT_VERSION} (localbuild)" CACHE STRING "Application version string embedded in UI")
|
||||
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/CompilerWarnings.cmake)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Dependencies.cmake)
|
||||
|
||||
add_subdirectory(core)
|
||||
add_subdirectory(ui_wx)
|
||||
add_subdirectory(app)
|
||||
|
||||
if(CCM_BUILD_TESTS)
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
message(STATUS "")
|
||||
message(STATUS "============================================================")
|
||||
message(STATUS " ${PROJECT_NAME} ${PROJECT_VERSION}")
|
||||
message(STATUS " Compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
|
||||
message(STATUS " Build type: ${CMAKE_BUILD_TYPE}")
|
||||
message(STATUS " System wx: ${CCM_USE_SYSTEM_WX}")
|
||||
message(STATUS " Build tests: ${CCM_BUILD_TESTS}")
|
||||
message(STATUS "============================================================")
|
||||
message(STATUS "")
|
||||
Reference in New Issue
Block a user