start examples (#16)

This commit is contained in:
m-aXimilian
2025-10-11 12:57:41 +02:00
committed by Maximilian Kueffner
parent a760535b92
commit 244b00fa5c
6 changed files with 31 additions and 23 deletions
+5 -22
View File
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.23) cmake_minimum_required(VERSION 3.23)
project(pixelarium VERSION 0.0.7) project(pixelarium VERSION 0.0.8)
set(CMAKE_VERBOSE_MAKEFILE ON) set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD 23)
@@ -22,6 +22,7 @@ message(STATUS "SPDLOG:\t" ${spdlog_DIR})
option(PIXELARIUM_BUILD_UNITTESTS "Generate Unittests" ON) option(PIXELARIUM_BUILD_UNITTESTS "Generate Unittests" ON)
option(PIXELARIUM_BUILD_DOCS "Generate Documentation" ON) option(PIXELARIUM_BUILD_DOCS "Generate Documentation" ON)
option(PIXELARIUM_BUILD_DOCS_ONLY "Build only Documentation (no compilatoin)" OFF) option(PIXELARIUM_BUILD_DOCS_ONLY "Build only Documentation (no compilatoin)" OFF)
option(PIXELARIUM_BUILD_EXAMPLES "Build example projects" ON)
#==================== #====================
if(PIXELARIUM_BUILD_DOCS OR PIXELARIUM_BUILD_DOCS_ONLY) if(PIXELARIUM_BUILD_DOCS OR PIXELARIUM_BUILD_DOCS_ONLY)
@@ -77,9 +78,6 @@ add_subdirectory(${spdlog_DIR})
add_subdirectory(${glfw3_module_DIR}) add_subdirectory(${glfw3_module_DIR})
add_subdirectory(lib) add_subdirectory(lib)
set(SRC
src/main.cpp)
#==================== #====================
# needed for the spdlogger implementation # needed for the spdlogger implementation
# this is not nice, but it won't work when, e.g. doing it from lower level cmake files # this is not nice, but it won't work when, e.g. doing it from lower level cmake files
@@ -87,24 +85,9 @@ add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>") add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
#==================== #====================
add_executable(${PROJECT_NAME} ${SRC}) if(PIXELARIUM_BUILD_EXAMPLES)
add_subdirectory(examples)
target_link_libraries(${PROJECT_NAME} endif()
PRIVATE pixelariumimagelib
PRIVATE pixelariumrenderlib
PRIVATE pixelariumutilslib
PRIVATE pixelariumresourcelib
PUBLIC pixelariumapplicationlib)
target_include_directories(${PROJECT_NAME}
PUBLIC ${PROJECT_SOURCE_DIR}/src
PUBLIC ${PROJECT_SOURCE_DIR}/lib
PUBLIC ${PROJECT_SOURCE_DIR}/lib/imaging
PUBLIC ${PROJECT_SOURCE_DIR}/lib/app
PUBLIC ${spdlog_DIR}/include
PUBLIC ${LIBCZI_INCLUDE_DIR}
PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
if(PIXELARIUM_BUILD_UNITTESTS) if(PIXELARIUM_BUILD_UNITTESTS)
include(CTest) include(CTest)
+2 -1
View File
@@ -17,7 +17,8 @@
"CMAKE_VERBOSE_MAKEFILE": "ON", "CMAKE_VERBOSE_MAKEFILE": "ON",
"PIXELARIUM_BUILD_UNITTESTS": "ON", "PIXELARIUM_BUILD_UNITTESTS": "ON",
"PIXELARIUM_BUILD_DOCS": "OFF", "PIXELARIUM_BUILD_DOCS": "OFF",
"PIXELARIUM_BUILD_DOCS_ONLY": "OFF" "PIXELARIUM_BUILD_DOCS_ONLY": "OFF",
"PIXELARIUM_BUILD_EXAMPLES": "ON"
} }
}, },
{ {
+1
View File
@@ -2,6 +2,7 @@
| Version | Description | | Version | Description |
|:-------:|:------------------------------------------------------------------------------------------------------------| |:-------:|:------------------------------------------------------------------------------------------------------------|
| 0.0.8 | Init example projects |
| 0.0.7 | Refactors image gallery logic from `DefaultApp` into a separate module | | 0.0.7 | Refactors image gallery logic from `DefaultApp` into a separate module |
| 0.0.6 | Added documentation-only option `PIXELARIUM_BUILD_DOCS_ONLY`, libCZI upgrade to main branch CI improvements | | 0.0.6 | Added documentation-only option `PIXELARIUM_BUILD_DOCS_ONLY`, libCZI upgrade to main branch CI improvements |
| 0.0.5 | Compile for C++23 and code style adaptions | | 0.0.5 | Compile for C++23 and code style adaptions |
+1
View File
@@ -0,0 +1 @@
add_subdirectory(simple)
+22
View File
@@ -0,0 +1,22 @@
set(SRC
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
set(SIMPLE_NAME "${PROJECT_NAME}_SIMPLE")
add_executable(${SIMPLE_NAME} ${SRC})
target_link_libraries(${SIMPLE_NAME}
PRIVATE pixelariumimagelib
PRIVATE pixelariumrenderlib
PRIVATE pixelariumutilslib
PRIVATE pixelariumresourcelib
PRIVATE pixelariumapplicationlib)
target_include_directories(${SIMPLE_NAME}
PRIVATE ${PROJECT_SOURCE_DIR}/src
PRIVATE ${PROJECT_SOURCE_DIR}/lib
PRIVATE ${PROJECT_SOURCE_DIR}/lib/imaging
PRIVATE ${PROJECT_SOURCE_DIR}/lib/app
PRIVATE ${spdlog_DIR}/include
PRIVATE ${LIBCZI_INCLUDE_DIR}
PRIVATE ${CMAKE_CURRENT_BINARY_DIR})