+ target_compile_features(${target} PUBLIC ${QUASSEL_COMPILE_FEATURES})
+
+ set_target_properties(${target} PROPERTIES
+ OUTPUT_NAME ${output_name}
+ VERSION ${QUASSEL_MAJOR}.${QUASSEL_MINOR}.${QUASSEL_PATCH}
+ )
+
+ if (buildmode STREQUAL "SHARED")
+ install(TARGETS ${target}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ endif()
+
+ if (ARG_EXPORT)
+ string(TOLOWER ${_module} lower_module)
+ string(TOUPPER ${_module} upper_module)
+ string(REPLACE "::" "-" header_base ${lower_module})
+ string(REPLACE "::" "_" macro_base ${upper_module})
+ generate_export_header(${target}
+ BASE_NAME ${macro_base}
+ EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/export/${header_base}-export.h
+ )
+ target_include_directories(${target} PUBLIC ${CMAKE_BINARY_DIR}/export)
+ endif()