CONFIG -= shared dll contains(TEMPLATE, ".*lib"):{ CONFIG += staticlib unix { QMAKE_CFLAGS += $$QMAKE_CFLAGS_STATIC_LIB QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STATIC_LIB } } mac { QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB } !static_and_shared:fix_output_dirs:fixExclusiveOutputDirs(static, shared)