Commit 6048802decaf0e2d2888a4497d757cba0c2f7989
1 parent
586e5e7b
Add switch for building a shared or static library
Showing
1 changed file
with
13 additions
and
6 deletions
library.cmake
| 1 | -# @brief Adds a single shared library target and performs related actions, | |
| 2 | -# such as target properties, hsoa versioning, and some packaging variables. | |
| 1 | +# @brief Adds a single shared or static library target and performs related actions, | |
| 2 | +# such as target properties and some packaging variables. | |
| 3 | 3 | # @note The default binary directory is CMAKE_BINARY_DIR, but can be overridden by specifying the ${PROJECT_NAME}_CURRENT_BINARY_DIR. |
| 4 | 4 | function(add_libraries) |
| 5 | 5 | |
| ... | ... | @@ -12,10 +12,17 @@ if (${PROJECT_NAME}_CURRENT_BINARY_DIR) |
| 12 | 12 | endif() |
| 13 | 13 | message(STATUS "CURRENT_PROJECT_BINARY_DIR : ${CURRENT_PROJECT_BINARY_DIR}") |
| 14 | 14 | |
| 15 | -include_directories(${HSOA_VERSION_INCLUDE_DIR}) | |
| 15 | +if(DEFINED ${BUILD_STATIC}) | |
| 16 | + if(${BUILD_STATIC} STREQUAL "ON") | |
| 17 | + set(SHARED_OR_STATIC "STATIC") | |
| 18 | + else() | |
| 19 | + set(SHARED_OR_STATIC "SHARED") | |
| 20 | + endif() | |
| 21 | +else() | |
| 22 | + set(SHARED_OR_STATIC "SHARED") | |
| 23 | +endif() | |
| 16 | 24 | |
| 17 | -add_library( ${PROJECT_NAME} SHARED | |
| 18 | - ${HSOA_VERSION_SRC_FILE} | |
| 25 | +add_library( ${PROJECT_NAME} ${SHARED_OR_STATIC} | |
| 19 | 26 | ${SRC_LIST} |
| 20 | 27 | ) |
| 21 | 28 | |
| ... | ... | @@ -28,7 +35,7 @@ set_target_properties( ${PROJECT_NAME} |
| 28 | 35 | VERSION ${PROJECT_VERSION} |
| 29 | 36 | SOVERSION ${PROJECT_VERSION_MAJOR} |
| 30 | 37 | LIBRARY_OUTPUT_DIRECTORY ${CURRENT_PROJECT_BINARY_DIR}/lib |
| 31 | - ARCHIVE_OUTPUT_DIRECTORY ${CURRENT_PROJECT_BINARY_DIR}/archive | |
| 38 | + ARCHIVE_OUTPUT_DIRECTORY ${CURRENT_PROJECT_BINARY_DIR}/lib | |
| 32 | 39 | ) |
| 33 | 40 | |
| 34 | 41 | endfunction() | ... | ... |