Updated cmake config for modules in template dir

+ Added regedit by default.
+ Added comments for detials.
+ Reconfigured with unit testing logic.
This commit is contained in:
Jake Goodwin 2025-12-20 19:32:56 -08:00
parent ecda1c8095
commit 478a7cd0a6

View file

@ -1,7 +1,35 @@
# File: src/module_name/CMakeLists.txt
add_library(module_name STATIC
module_name.c
)
target_include_directories(module_name PUBLIC
${CMAKE_CURRENT_LIST_DIR}
)
# Current list dir: The directory where the cmake config file is.
# Source Dir: The dir where the root/main cmake config file is.
if(NOT UNIT_TESTING)
target_include_directories(module_name PUBLIC
${CMAKE_CURRENT_LIST_DIR}
${CMAKE_SOURCE_DIR}/inc/
)
target_link_libraries(module_name
RegEdit
)
else()
target_include_directories(module_name PUBLIC
${CMAKE_CURRENT_LIST_DIR}
#First we include any module specific test dependencies.
${CMAKE_SOURCE_DIR}/tests/module_name/mocks/
${CMAKE_SOURCE_DIR}/tests/module_name/fakes/
${CMAKE_SOURCE_DIR}/tests/module_name/stubs/
#Next comes the shared and non-module specific test depencencies.
${CMAKE_SOURCE_DIR}/tests/shared/mocks/
${CMAKE_SOURCE_DIR}/tests/shared/fakes/
${CMAKE_SOURCE_DIR}/tests/shared/stubs/
#Finally we include the local stuff, which has likely been overridden.
${CMAKE_CURRENT_SOURCE_DIR}
)
#Place Mocked/Regular dependencies here for unit testing.
target_link_libraries(module_name
MockRegEdit
)
endif()