only static

This commit is contained in:
Erik Frojdh 2021-11-11 15:57:22 +01:00
parent 9ca831d954
commit 96f6561080
2 changed files with 38 additions and 38 deletions

View File

@ -9,16 +9,16 @@ set(SOURCES
src/Pattern.cpp src/Pattern.cpp
) )
add_library(slsDetectorObject OBJECT add_library(slsDetectorStatic OBJECT
${SOURCES} ${SOURCES}
) )
target_include_directories(slsDetectorObject PUBLIC target_include_directories(slsDetectorStatic PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>" "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
) )
target_link_libraries(slsDetectorObject target_link_libraries(slsDetectorStatic
PUBLIC PUBLIC
slsProjectOptions slsProjectOptions
slsSupportStatic slsSupportStatic
@ -28,7 +28,7 @@ target_link_libraries(slsDetectorObject
slsProjectWarnings slsProjectWarnings
) )
set(DETECTOR_LIBRARY_TARGETS slsDetectorObject) set(DETECTOR_LIBRARY_TARGETS slsDetectorStatic)
set(PUBLICHEADERS set(PUBLICHEADERS
@ -39,29 +39,29 @@ set(PUBLICHEADERS
) )
#Shared library #Shared library
if(SLS_BUILD_SHARED_LIBRARIES) # if(SLS_BUILD_SHARED_LIBRARIES)
add_library(slsDetectorShared SHARED $<TARGET_OBJECTS:slsDetectorObject>) # add_library(slsDetectorShared SHARED $<TARGET_OBJECTS:slsDetectorObject>)
target_link_libraries(slsDetectorShared PUBLIC slsDetectorObject) # target_link_libraries(slsDetectorShared PUBLIC slsDetectorObject)
set_target_properties(slsDetectorShared PROPERTIES # set_target_properties(slsDetectorShared PROPERTIES
VERSION ${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH} # VERSION ${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}
SOVERSION ${PACKAGE_VERSION_MAJOR} # SOVERSION ${PACKAGE_VERSION_MAJOR}
LIBRARY_OUTPUT_NAME SlsDetector # LIBRARY_OUTPUT_NAME SlsDetector
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin # LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
PUBLIC_HEADER "${PUBLICHEADERS}" # PUBLIC_HEADER "${PUBLICHEADERS}"
) # )
list(APPEND DETECTOR_LIBRARY_TARGETS slsDetectorShared) # list(APPEND DETECTOR_LIBRARY_TARGETS slsDetectorShared)
endif(SLS_BUILD_SHARED_LIBRARIES) # endif(SLS_BUILD_SHARED_LIBRARIES)
#Static library #Static library
add_library(slsDetectorStatic STATIC $<TARGET_OBJECTS:slsDetectorObject>) # add_library(slsDetectorStatic STATIC $<TARGET_OBJECTS:slsDetectorObject>)
target_link_libraries(slsDetectorStatic PUBLIC slsDetectorObject) # target_link_libraries(slsDetectorStatic PUBLIC slsDetectorObject)
set_target_properties(slsDetectorStatic PROPERTIES set_target_properties(slsDetectorStatic PROPERTIES
ARCHIVE_OUTPUT_NAME SlsDetectorStatic ARCHIVE_OUTPUT_NAME SlsDetectorStatic
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
PUBLIC_HEADER "${PUBLICHEADERS}" PUBLIC_HEADER "${PUBLICHEADERS}"
) )
list(APPEND DETECTOR_LIBRARY_TARGETS slsDetectorStatic) # list(APPEND DETECTOR_LIBRARY_TARGETS slsDetectorStatic)

View File

@ -66,18 +66,18 @@ target_include_directories(md5sls
# Create an object library to avoid building the library twice # Create an object library to avoid building the library twice
add_library(slsSupportObject OBJECT add_library(slsSupportStatic STATIC
${SOURCES} ${SOURCES}
${HEADERS} ${HEADERS}
) )
target_include_directories(slsSupportObject target_include_directories(slsSupportStatic
PUBLIC PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>" "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
) )
target_link_libraries(slsSupportObject target_link_libraries(slsSupportStatic
PUBLIC PUBLIC
slsProjectOptions slsProjectOptions
# libzmq # libzmq
@ -92,33 +92,33 @@ if (SLS_USE_TESTS)
endif(SLS_USE_TESTS) endif(SLS_USE_TESTS)
#List of targets to support adding removing targets as config #List of targets to support adding removing targets as config
set(SUPPORT_LIBRARY_TARGETS slsSupportObject) set(SUPPORT_LIBRARY_TARGETS slsSupportStatic)
# Add shared library version of the support lib # Add shared library version of the support lib
if(SLS_BUILD_SHARED_LIBRARIES) # if(SLS_BUILD_SHARED_LIBRARIES)
add_library(slsSupportShared SHARED $<TARGET_OBJECTS:slsSupportObject>) # add_library(slsSupportShared SHARED $<TARGET_OBJECTS:slsSupportObject>)
target_link_libraries(slsSupportShared PUBLIC slsSupportObject) # target_link_libraries(slsSupportShared PUBLIC slsSupportObject)
set_target_properties(slsSupportShared PROPERTIES # set_target_properties(slsSupportShared PROPERTIES
VERSION ${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH} # VERSION ${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}
SOVERSION ${PACKAGE_VERSION_MAJOR} # SOVERSION ${PACKAGE_VERSION_MAJOR}
LIBRARY_OUTPUT_NAME SlsSupport # LIBRARY_OUTPUT_NAME SlsSupport
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin # LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
PUBLIC_HEADER "${PUBLICHEADERS}" # PUBLIC_HEADER "${PUBLICHEADERS}"
) # )
list(APPEND SUPPORT_LIBRARY_TARGETS slsSupportShared) # list(APPEND SUPPORT_LIBRARY_TARGETS slsSupportShared)
endif(SLS_BUILD_SHARED_LIBRARIES) # endif(SLS_BUILD_SHARED_LIBRARIES)
# Add static version of the support lib # Add static version of the support lib
add_library(slsSupportStatic STATIC $<TARGET_OBJECTS:slsSupportObject>) # add_library(slsSupportStatic STATIC $<TARGET_OBJECTS:slsSupportObject>)
target_link_libraries(slsSupportStatic PUBLIC slsSupportObject) # target_link_libraries(slsSupportStatic PUBLIC slsSupportObject)
set_target_properties(slsSupportStatic PROPERTIES set_target_properties(slsSupportStatic PROPERTIES
ARCHIVE_OUTPUT_NAME SlsSupportStatic ARCHIVE_OUTPUT_NAME SlsSupportStatic
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
PUBLIC_HEADER "${PUBLICHEADERS}" PUBLIC_HEADER "${PUBLICHEADERS}"
) )
list(APPEND SUPPORT_LIBRARY_TARGETS slsSupportStatic) # list(APPEND SUPPORT_LIBRARY_TARGETS slsSupportStatic)
if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE) if((CMAKE_BUILD_TYPE STREQUAL "Release") AND SLS_LTO_AVAILABLE)
set_property(TARGET ${SUPPORT_LIBRARY_TARGETS} PROPERTY INTERPROCEDURAL_OPTIMIZATION True) set_property(TARGET ${SUPPORT_LIBRARY_TARGETS} PROPERTY INTERPROCEDURAL_OPTIMIZATION True)