| 123456789101112131415161718192021222324252627282930313233343536373839 |
- # Macro utility to clone the Unity submodule.
- macro( clone_unity )
- find_package( Git REQUIRED )
- message( "Cloning submodule Unity." )
- execute_process( COMMAND rm -rf ${UNITY_DIR}
- COMMAND ${GIT_EXECUTABLE} submodule update --checkout --init --recursive ${UNITY_DIR}
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
- RESULT_VARIABLE UNITY_CLONE_RESULT )
- if( NOT ${UNITY_CLONE_RESULT} STREQUAL "0" )
- message( FATAL_ERROR "Failed to clone Unity submodule." )
- endif()
- endmacro()
- # Macro utility to add library targets for Unity and Unity to build configuration.
- macro( add_unity_targets )
- # Build Configuration for Unity and Unity libraries.
- list( APPEND UNITY_INCLUDE_DIRS
- "${UNITY_DIR}/src/"
- "${UNITY_DIR}/extras/fixture/src"
- "${UNITY_DIR}/extras/memory/src"
- )
- add_library( unity STATIC
- "${UNITY_DIR}/src/unity.c"
- "${UNITY_DIR}/extras/fixture/src/unity_fixture.c"
- "${UNITY_DIR}/extras/memory/src/unity_memory.c"
- )
- set_target_properties( unity PROPERTIES
- ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
- POSITION_INDEPENDENT_CODE ON
- )
- target_include_directories( unity PUBLIC
- ${UNITY_INCLUDE_DIRS}
- )
- endmacro()
|