X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=cmake%2FQuasselMacros.cmake;h=e282506125efed172f62f61503b6abf0ec8c9ec6;hp=02b3165b831fa0cf542f5f5036b210e409223e33;hb=1e37a9de70d5ff524fe9d01e715f6dbcdfa9ba06;hpb=d9e586707522241d628a90466e13722e342cc28a diff --git a/cmake/QuasselMacros.cmake b/cmake/QuasselMacros.cmake index 02b3165b..e2825061 100644 --- a/cmake/QuasselMacros.cmake +++ b/cmake/QuasselMacros.cmake @@ -30,20 +30,33 @@ function(quassel_add_module _module) string(REPLACE "::" "_" target ${target}) string(REPLACE "_" "-" output_name ${target}) - add_library(${target} STATIC "") - add_library(${alias} ALIAS ${target}) + # On Windows, building shared libraries requires export headers. + # Let's bother with that later. + if (WIN32) + set(buildmode STATIC) + else() + set(buildmode SHARED) + endif() - set_target_properties(${target} PROPERTIES - OUTPUT_NAME ${output_name} - ) + add_library(${target} ${buildmode} "") + add_library(${alias} ALIAS ${target}) + target_link_libraries(${target} PRIVATE Qt5::Core) target_include_directories(${target} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_BINARY_DIR} # for generated files ) - 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} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + # Export the target name for further use set(TARGET ${target} PARENT_SCOPE) endfunction()